Octave中矩阵的一些基本运算
作者:互联网
-
ones(2,3)
生成一个2 x 3的矩阵,且矩阵中所有的元素都为1 -
zeros(3,3)
生成一个3 x 3的矩阵,且矩阵中所有的元素都为0 -
rand(3,3)
生成一个3 x 3的矩阵,且矩阵中所有的元素都为介于0-1之间的随机值 -
randn(3,3)
生成一个3 x 3的矩阵,且矩阵中所有的元素都服从高斯分布,均值为0,方差和标准差为1 -
size
- size(A):
返回矩阵的大小,例如一个3 x 2 矩阵会返回 3 2,这实际上是一个1 x 2 的行向量 - size(A,1):
返回矩阵有多少行(其实就是打印返回的行向量的第一个数字) - size(A ,2):
返回矩阵有多少列
- size(A):
-
length
length将返回矩阵的最大维度,与size不同,length只返回一个数,一班length用于列向量或行向量,因为如果对一个矩阵来使用length的话,别的程序员维护代码或自己维护代码时候可能会认为要求的是一个列向量或行向量 -
:的用法
- v = price(1:10)
表明将price从第一个值开始赋值,赋值十个元素 - A(2,:) (A是一个矩阵)
输出第二行所有的元素 - A(:,2)
输出第二列所有的元素 - A([1 3], : )
输出1,3行的元素 - A( : )
把矩阵A单独输出成一个列向量
- v = price(1:10)
-
矩阵运算中的 . 的意义
其实 . 是针对矩阵中每个元素来进行操作的,例如C = A .* B (A、B都是矩阵),结果是:C_ij = A_ij * B_ij ,也就是新矩阵的新元素等于各矩阵 对应元素之积。
又比如说 A *^2,就是将A中所有的元素都平方。 -
log(A) 、 exp(A) 、 abs(A)
- 这些也是针对于矩阵中每个元素运算的方法
- log是将矩阵A 中每个元素去对数后形成的矩阵
- exp(A) 是令A中的每个元素为为原来的e的对应元素次方,列入a_ij = e ^ (a_ij)
- abs(A) 是将矩阵A中所有元素都取绝对值后形成新矩阵
-
max()函数
max(A)如果矩阵A为一个向量是,则返回值是A中最大的值
如果A是一个矩阵,则会返回每一列的最大值
max(A,[],1)
第一个参数表示要求解的矩阵,这个函数是返回某个维度各个最大值,如果是1就表示求出A矩阵每一列的最大值并返回一个行向量、如果是二则求出A矩阵每一行的最大值并返回一个列向量。
可以通过max(max(A))来求矩阵中的过的最大值 -
sum()函数
sum()函数的参数是一个矩阵 它将返回每个元素相加的值
sum(A,1)是求出每一列的和,然后返回一个行向量、sum(A,2)是求出每一行的值,然后返回一个列向量。 -
prod()函数
prod()函数的参数也是一个矩阵 它返回每个元素相乘的值 -
floor()函数与ceil()函数
floor()与ceil()函数都是为了将矩阵中所有的元素取整,不同的是floor是向下取整、也就是无论小数点后多大,都会直接抹掉,不会进位、ceil则相反 -
pinv()
pinv()是用来求解矩阵的逆的函数、当矩阵不可逆是,会求出伪逆。
标签:返回,运算,元素,矩阵,行向量,Octave,size,函数 来源: https://blog.csdn.net/qq_44915023/article/details/101462659