概述
一、矩阵运算
1、矩阵的算数运算
加、减、乘、除(左除、右除)、乘方
1.1 矩阵的加减
运算符:A±B
注意:加减要求矩阵的阶数相同
检查矩阵阶数的语句:
-
[i,j]=size(A)
-
I=length(A)
1.2 矩阵的乘法运算
运算符:A*B
注意:要求A的列数和B的行数(内阶数)相同。
1.3 矩阵的出发运算
左除:AB
右除:B/A
注意:左除时要求两个矩阵的行数要相等;右除时要求两个矩阵的列数必须相等
1.4 矩阵的乘方运算
运算符:矩阵^幂次
1.5 示例
>> A=[1 2; 3 4]; >> B=[1 1; 2 2]; >> y1=A+B y1 = 2 3 5 6 >> y2=A-B y2 = 0 1 1 2 >> y3=A*B y3 = 5 5 11 11 >> y4=AB y4 = 0 0 0.5000 0.5000 >> y5=B/A y5 = -0.5000 0.5000 -1.0000 1.0000 >> y6=A^2 y6 = 7 10 15 22
2、矩阵的点(元素群)运算
矩阵中对应位置元素进行相关运算。要求参加运算的矩阵必须是同阶的。即行、列数必须相等
运算符:在矩阵运算的基本运算符前加上“.”即可
点乘:.*
点左除:. ./
点乘方:.^
>> A=[1 2; 3 4]; >> B=[1 1; 2 2]; >> y7=A.*B y7 = 1 2 6 8 >> y8=A.B y8 = 1.0000 0.5000 0.6667 0.5000 >> y9=B./A y9 = 1.0000 0.5000 0.6667 0.5000 >> y10=A.*B y10 = 1 2 6 8
3、矩阵的关系运算
关系运算符:<,<=,>,>=,=,~=
运算结果:真(1),假(0)
运算法则:
-
标量比较:直接比较数的大小
-
矩阵比较:矩阵对应位置的元素进行标量比较,最终结果为一个由0和1组成的、与原矩阵同阶数的矩阵,
>> A=magic(3) A = 8 1 6 3 5 7 4 9 2 >> P=rem(A,3)==0 P = 3×3 logical 数组 0 0 1 1 0 0 0 1 0
4、矩阵的逻辑运算
逻辑运算符:非(~)>与(&)>或(|)
针对二进制数的逻辑运算
>> A=magic(3) A = 8 1 6 3 5 7 4 9 2 >> P=rem(A,3)==0 P = 3×3 logical 数组 0 0 1 1 0 0 0 1 0 >> U=P|~P U = 3×3 logical 数组 1 1 1 1 1 1 1 1 1 >> all(P) #全为真,按列运算 ans = 1×3 logical 数组 0 0 0 >> all(U) ans = 1×3 logical 数组 1 1 1 >> any(P) #不全为假,按列运算 ans = 1×3 logical 数组 1 1 1
all():矩阵的一列全为真时,输出1
any():矩阵的一列不全为假(只要有一个1),输出1
二、矩阵的元素处理
1、矩阵元素的取整
-
按正无穷+∞方向取整:
ceil()
-
按负无穷-∞方向取整:
floor()
-
四舍五入取整:
round()
-
截尾取整:
fix()
直接略去小数部分
>> A=[-1.2 -3.4 -5.4;3 6 9;5.2 4.5 4.8] A = -1.2000 -3.4000 -5.4000 3.0000 6.0000 9.0000 5.2000 4.5000 4.8000 >> A_f=floor(A) A_f = -2 -4 -6 3 6 9 5 4 4 >> A_c=ceil(A) A_c = -1 -3 -5 3 6 9 6 5 5 >> A_r=round(A) A_r = -1 -3 -5 3 6 9 5 5 5 >> A_fix=fix(A) A_fix = -1 -3 -5 3 6 9 5 4 4
2、矩阵元素的取模和取余
-
mod(x,y)
取模 -
rem(x,y)
取余
这两者均为取余函数,区别在于:当x和y的正负号相同的时候,两个函数的结果相同,均为x除以y的余数,当x和y的正负号不同时,rem函数结果的符号与x相同,而mod函数结果的符号与y相同。
>> a1=mod(-8,3) a1 = 1 >> a1=mod(8,-3) a1 = -1 >> a1=mod(8,3) a1 = 2 >> a1=mod(-8,-3) a1 = -2 >> rem(-8,3) ans = -2 >> rem(8,-3) ans = 2 >> rem(8,3) ans = 2 >> rem(-8,-3) ans = -2
三、矩阵的行列式、秩与迹、特征值分析
1、矩阵的行列式
运算符:det()
用于求方阵行列式的值
2、矩阵的秩与迹
-
矩阵的秩:矩阵的列向量组(或者行向量组)的任一极大线性无关组所含向量的个数
运算符:
rank()
-
矩阵的迹:矩阵的迹等于矩阵主对角线元素的总和,也等于矩阵特征值的总和
运算符:
trace()
要求矩阵是方阵
3、矩阵的特征值分析
-
E=eig(A)
:求矩阵的全部特征值,并构成向量E -
[V,D]=eig(A)
:求矩阵的全部特征值,构成对角矩阵D;求A的特征向量,构成列向量V。
>> A=[-2,1,4;4,5,6;-4,-7,-8] A = -2 1 4 4 5 6 -4 -7 -8 >> a1=det(A) a1 = -28 >> a2=rank(A) a2 = 3 >> a3=trace(A) a3 = -5 >> a4=eig(A) a4 = -1.5000 + 3.4278i -1.5000 - 3.4278i -2.0000 + 0.0000i >> [V,D]=eig(A) V = 0.0754 - 0.5168i 0.0754 + 0.5168i -0.8001 + 0.0000i -0.6030 + 0.0000i -0.6030 + 0.0000i 0.5819 + 0.0000i 0.6030 + 0.0000i 0.6030 + 0.0000i -0.1455 + 0.0000i D = -1.5000 + 3.4278i -1.5000 - 3.4278i -2.0000 + 0.0000i
四、矩阵的逆与线性方程组的求解
1、矩阵的逆
inv()
:用于求满秩方程的逆
pinv()
:用于求不是方阵或者非满秩方阵的逆——伪逆
如果ABA=A,BAB=B,则称B为A的伪逆,或者广义逆矩阵
2、线性方程组的解
五、矩阵的分解与变换
1、矩阵的分解
-
三角分解:
[l,u]=lu(a)
l
表示下三角矩阵u
表示上三角矩阵 -
正交分解:
[q,r]=qr(a)
假设
a(n,m)
q
:n阶正交方阵r
:与a同阶的上三角矩阵 -
奇异值分解:
[u,s,v]=svd(a)
u
:n阶正交方阵s
:n×m阶的对角阵,对角线元素为a的奇异值,长度为n、m的较小者v
:m阶正交方阵。
2、矩阵的变换
-
矩阵的共轭转置:
’
-
矩阵的共轭:
conj
-
矩阵的转置:
conj’
-
复数矩阵的赋值
对元素逐个赋值:
z=[1+2i,3+4i;5+6i,3+2i]
对实部和虚部矩阵分别赋值:
z=[1,2;5,7]+[2,4;8,9]*i
>> z=[1+2i,3+4i;5+6i,3+2i] z = 1.0000 + 2.0000i 3.0000 + 4.0000i 5.0000 + 6.0000i 3.0000 + 2.0000i >> z1=z' #共轭转置 z1 = 1.0000 - 2.0000i 5.0000 - 6.0000i 3.0000 - 4.0000i 3.0000 - 2.0000i >> z2=conj(z) #共轭 z2 = 1.0000 - 2.0000i 3.0000 - 4.0000i 5.0000 - 6.0000i 3.0000 - 2.0000i >> z3=conj(z)' #转置 z3 = 1.0000 + 2.0000i 5.0000 + 6.0000i 3.0000 + 4.0000i 3.0000 + 2.0000i
只有数字和
i
之间的乘号可以省略
-
矩阵的行列扩展
a=[-2,1,4;4,5,6;-4,-7,-8]
行扩展:
a(4,3)=6.5 a=(5,:)=[5,4,3]
列扩展:
a(:,4)=[5;4;3;2;1]
>> a=[-2,1,4;4,5,6;-4,-7,-8] a = -2 1 4 4 5 6 -4 -7 -8 >> a(4,3)=9.8 a = -2.0000 1.0000 4.0000 4.0000 5.0000 6.0000 -4.0000 -7.0000 -8.0000 0 0 9.8000 >> a(5,:)=[5,4,3] a = -2.0000 1.0000 4.0000 4.0000 5.0000 6.0000 -4.0000 -7.0000 -8.0000 0 0 9.8000 5.0000 4.0000 3.0000 >> a(:,4)=[5;4;3;2;1] a = -2.0000 1.0000 4.0000 5.0000 4.0000 5.0000 6.0000 4.0000 -4.0000 -7.0000 -8.0000 3.0000 0 0 9.8000 2.0000 5.0000 4.0000 3.0000 1.0000
最后
以上就是彪壮板凳为你收集整理的Matlab学习第二部分:矩阵的全部内容,希望文章能够帮你解决Matlab学习第二部分:矩阵所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复