Octave向量与矩阵

向量与矩阵的创建

  • 创建向量:[a b c d];
  • 用步长创建向量:[1:2:7] 等同于[1 3 5 7] ;
  • 还有一种简写方式:1:6 等同于[1 2 3 4 5 6];
  • 创建矩阵:[11 12 13; 21 22 23; 31 32 33];
  • 创建单位矩阵I:eye(n);
  • 创建全零矩阵:zeros(m,n);
  • 创建服从[0 1]均匀分布的矩阵:rand(m,n);
  • 创建服从均值为0,方差为1的正态分布的矩阵:randn(m,n);
  • 引申:创建均值为6,方差为10的正态分布的矩阵:6+sqrt(10)*(rand(1,10000));

获取向量和矩阵的元素与大小

  • size(A):用一个[m n]二维向量,返回矩阵A的行数与列数;
  • size(A,1):返回矩阵A的行数;
  • size(A,2):返回矩阵A的列数;
  • length(A):返回矩阵A行、列中最长的维数;
  • A(m,n):返回矩阵A的第m行,第n列个元素;
  • A(m,:):返回矩阵A第m行的所有元素;
  • A(:,n):返回矩阵A第n列的所有元素;
  • A([m,n],:):返回矩阵A第m行和第n行的所有元素;
  • A(:,n) = [10; 11; 12] % 对第n列赋值;
  • A = [A, [100; 101; 102]]; % 为矩阵A添加列元素

向量和矩阵的运算

对于矩阵,Octava默认采用向量运算符,也就是说A*B表示的是矩阵A和矩阵B的矩阵乘法。当不满足(m,n)(n,o)的条件时,两个矩阵是无法相乘的。如果想转化成普通的四则运算,则需要在运算符前加'.',表示这是普通的四则运算(矩阵中对应位置的元素做普通四则运算)。

  • 矩阵的加减法A+B:只有同维度的两个向量才能加减,表示向量中同位置元素的加减。
  • A.^2:矩阵A的平方,表示A中所有元素都平方。
  • 向量与实数的乘除法A*2:表示向量中的每个元素都乘或除实数。
  • (m,n)的矩阵与(n,o)的矩阵相乘A*B:注意,前矩阵的列数必须等于后矩阵的行数才能进行矩阵的乘法运算。结果是一个(m,o)的矩阵。
  • 矩阵的转置:A';
  • 矩阵的逆:inv(A);
  • 先写到这里,后边有新用到的再补充。

矩阵运算函数

sum(A):如果A是行向量,则表示所有行元素加和;如果A是列向量,则表示所有列元素加和;如果A是(m,n)的矩阵,则表示所有行元素求和,最后结果为(1,n)的矩阵。

sun:为数学中的求和提供了极大的方便,如果没有矩阵运算,则这种求和只能通过循环的方法实现,有了这个函数的帮助,可以用矩阵很轻松的实现求和。代码简洁,而且运算效率高。

你可能感兴趣的:(人工智能)