1、矩阵和向量(Matrices and Vectors)
上面矩阵A是一个4 x 2矩阵,Aij ,下标i j分别对应矩阵的第i行和第j列 。
一个有'n'行的向量被称为'n'维向量。
vi表示向量第i行中的元素。
一般情况下,所有的向量和矩阵都是从1-开始索引的。
矩阵一般用大写字母表示,向量一般用小写字母表示。
标量是一个单个值,不是向量或矩阵。
R是实数的集合,Rn(n为上标)是实数的n维向量的集合。
Octave/Matlab中相关矩阵、向量的命令
2、加法和标量乘法(Addition and Scalar Multiplication)
只有相同维度的两个矩阵才能相加、相减。
标量乘法:
标量除法:
3、矩阵向量相乘(Matrix Vector Multiplication)
计算y的过程可以分解为计算 yi 的值 ,让 A 的第 i 行元素 ,分别乘以向量 x 中的元素,并且相加 。
矩阵A=(m,n) 矩阵B=(n,h),则A x B=(m,h),这里的m,n,h为矩阵的行数和列数。
4、矩阵乘法(Matrix Matrix Multiplication)
如果A是一个m×n的矩阵(m行n列) 。将要用它与 一个n×o的B矩阵(n行o列)相乘 ,B矩阵的n必须匹配A矩阵的n ,所以第一个矩阵的列的数目,必须等于第二矩阵中的行的数目,并且相乘得到的结果 ,结果会是一个m×o的矩阵,就像下面这个矩阵C。
5、矩阵乘法的属性(Matrix Multiplication Properties)
矩阵乘法是不可交换的,不符号交换律,因为会改变结果维度,即矩阵 A∗B≠B∗A
矩阵乘法符号结合律,即矩阵(A∗B)∗C=A∗(B∗C)
6、逆和转置(Inverse and Transpose)
矩阵A的逆表示为,矩阵A乘以它的逆矩阵为单位矩阵。
一个非方阵没有一个逆矩阵。\没有逆矩阵的矩阵是奇异矩阵的或退化矩阵。
矩阵的转置就是将矩阵顺时针旋转90°,然后将其反转。
我们可以用transpose(A)函数或A'在matlab中计算矩阵的转置,用pinv(A)或inv(A)函数在Matlab中计算矩阵的逆变换。
% Initialize matrix A
A = [1,2,0;0,5,6;7,0,9]
% Transpose A
A_trans = A'
% Take the inverse of A
A_inv = inv(A)
% What is A^(-1)*A?
A_invA = inv(A)*A
% Take the inverse of A
A_pinv = pinv(A)
% What is A^(-1)*A?
A_pinvA = pinv(A)*A
运行结果:
A =
1 2 0
0 5 6
7 0 9
A_trans =
1 0 7
2 5 0
0 6 9
A_inv =
0.348837 -0.139535 0.093023
0.325581 0.069767 -0.046512
-0.271318 0.108527 0.038760
A_invA =
1.00000 -0.00000 0.00000
0.00000 1.00000 -0.00000
-0.00000 0.00000 1.00000
A_pinv =
0.348837 -0.139535 0.093023
0.325581 0.069767 -0.046512
-0.271318 0.108527 0.038760
A_pinvA =
1.0000e+00 1.1102e-16 1.1102e-16
1.1102e-16 1.0000e+00 1.6653e-16
3.3307e-16 2.2204e-16 1.0000e+00