参考书籍
《matlab 程序设计与综合应用》张德丰等著 感谢张老师的书籍,让我领略到matlab的便捷
《MATLAB技术大全》葛超等编著 感谢葛老师的书籍,让我领略到matlab的高效git
MATLAB语言之前是一种专门为进行矩阵计算所设计的语言,在之后的各个版本中逐步扩充其各类功能。如今MATLAB不单单局限于矩阵计算领域,但其最基本、最重要的功能仍是进行实数矩阵和复数矩阵的运算。 在MATLAB中几乎全部的运算符和操做符都是以矩阵为基本运算单元的,这和其余计算机语言有很大不一样,这也是MATLAB的重要特色github
INV(X)算法
X'数组
X=[2 3; 4 5]; Y=[3 4; 4 3]; X+Y X-Y ans = 5 7 8 8 ans = -1 -1 0 2
X=[2 3; 4 5]; Y=[3 4; 4 3]; ans = 18 17 32 31 ans = 4 6 8 10
X=[2 3; 4 5]; Y=[3 4; 4 3]; X.*Y 2.*X ans = 6 12 16 15 ans = 4 6 8 10
(1)x^Y表示,若是x为数,而Y为方阵,结果由各特征值和特征向量计算获得
(2)X^y表示,若是X是方阵、y是一个大于1的整数,所得结果由X重复相乘y次获得;若是y不是整数,则将计算各特征值和特征向量的乘方。
(3)若是X和Y都是矩阵,或X或Y不是 方阵 ,则会显示错误信息。学习
X=[2 3; 4 5]; Y=[3 4; 4 3]; X^2 X^1.5 2^Y >> test_power ans = 16 21 28 37 ans = 5.9125 - 0.1007i 7.7970 + 0.0573i 10.3960 + 0.0764i 13.7095 - 0.0434i ans = 64.2500 63.7500 63.7500 64.2500
X=[2 3; 4 5] Y=[3 4; 4 3] X.^Y X = 2 3 4 5 Y = 3 4 4 3 ans = 8 81 256 125
A B称做矩阵A左除矩阵B,其计算结果大体与INV(A)B相同,但其算法倒是不相同的。若是A是N×N的方阵,而B是N维列向量,或是由若干N维列向量组成的矩阵,则X=A B是方程AX=B的解,X与B的大小相同,对于X和B的每一个列向量,都有AX(n)=B(n),此解是由高斯消元法获得的很显然,A EYE(SIZE(A))=INV(A)EYE(SIZE(A))=INV(A)。若是A是M×N的矩阵(M不等于N),B是M维列向量或由若干M维列向量组成的矩阵,则X=A B是欠定或超定方程AX=B的最小二乘解。A的有效秩L由旋转的QR分解获得,并至多在每列L个零元素上求解。设计
A =[1 2; 3 4] B =[2 3; 3 2] A\B A = 1 2 3 4 B = 2 3 3 2 ans = -1.0000 -4.0000 1.5000 3.5000
B/A称为矩阵A右除矩阵B,其计算结果基本与B * INV(A)相同,但其算法是不一样的,能够由左除获得,即:B/A=(A'\B')' 其实是方程XA=B的解 表示A的A的转置左除B的转置的结果的转置code
A =[1 2; 3 4] B =[2 3; 3 2] B/A (A'\B')' A = 1 2 3 4 B = 2 3 3 2 ans = 0.5000 0.5000 -3.0000 2.0000 ans = 0.5000 0.5000 -3.0000 2.0000
A =[1 2; 3 4] B =[2 3; 3 2] B./A B./2 A = 1 2 3 4 B = 2 3 3 2 ans = 2.0000 1.5000 1.0000 0.5000 ans = 1.0000 1.5000 1.5000 1.0000
A =[1 2; 3 4] B =[2 3; 3 2] kron(A,B) A = 1 2 3 4 B = 2 3 3 2 ans = 2 3 4 6 3 2 6 4 6 9 8 12 9 6 12 8