本文为matlab自学笔记的一部分,之所以学习matlab是因为其真的是人工智能无论是神经网络还是智能计算中日常使用的,非常重要的软件。也许最近其带来的一些负面消息对国内各个高校和业界影响很大。但是我们作为技术人员,更是要奋发努力,拼搏上进,学好技术,才能师夷长技以制夷,为中华之崛起而读书!
本文很多摘录自图书资料,不做任何商业用途,仅做技术分享,侵权删除!请不要放弃自己的理想和道路,加油!!
“参考书籍 《matlab 程序设计与综合应用》张德丰等著 感谢张老师的书籍,让我领略到matlab的便捷 《MATLAB技术大全》葛超等编著 感谢葛老师的书籍,让我领略到matlab的高效
MATLAB语言以前是一种专门为进行矩阵计算所设计的语言,在以后的各个版本中逐步扩充其各种功能。现在MATLAB不仅仅局限于矩阵计算领域,但其最基本、最重要的功能还是进行实数矩阵和复数矩阵的运算。在MATLAB中几乎所有的运算符和操作符都是以矩阵为基本运算单元的,这和其他计算机语言有很大不同,这也是MATLAB的重要特点
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的转置的结果的转置
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