matlab矩阵及其运算,Matlab程序设计矩阵及其运算.ppt

Matlab程序设计矩阵及其运算

2.8 稀疏矩阵 A=[1 2 3 ;3 4 5;6 7 8]; B=spconvert(A) %生成实数数组 A=[1 2 3 4;3 4 5 6 ;6 7 8 9]; B=spconvert(A) %生成复数数组 示例: * 2.4 矩阵分析 2.4.2 矩阵的转置与旋转1.矩阵的转置转置运算符是单撇号(‘)。2.矩阵的旋转利用函数rot90(A,k)将矩阵A旋转90o的k倍,当k为1时可省略。 2.4 矩阵分析 3.矩阵的左右翻转对矩阵实施左右翻转是将原矩阵的第一列和最后一列调换,第二列和倒数第二列调换,…,依次类推。MATLAB对矩阵A实施左右翻转的函数是fliplr(A)。 A=magic(4) fliplr(A) 例: %flip+left+right 4.矩阵的上下翻转MATLAB对矩阵A实施上下翻转的函数是flipud(A)。 2.4 矩阵分析 rot90(A): 逆时针旋转90° fliplr(A):矩阵作左右翻转 flipud(A): 矩阵作上下翻转 A =[ 1 2 3 4 5 6] 2.4 矩阵分析 2.4.3 矩阵的逆与伪逆1.矩阵的逆对于一个方阵A,如果存在一个与其同阶的方阵B,使得:A·B=B·A=I (I为单位矩阵)则称B为A的逆矩阵,当然,A也是B的逆矩阵。求一个矩阵的逆是一件非常烦琐的工作,容易出错,但在MATLAB中,求一个矩阵的逆非常容易。求方阵A的逆矩阵可调用函数inv(A)。 2.4 矩阵分析 例2-11 用求逆矩阵的方法解线性方程组。Ax=b其解为:x=A-1b 命令如下: A=[1,2,3;1,4,9;1,8,27]; b=[5,–2,6]'; x=inv(A)*b 一般情况下,用左除比求矩阵的逆的方法更有效,即x=A\b。 2.4 矩阵分析 2.矩阵的伪逆如果矩阵A不是一个方阵,或者A是一个非满秩的方阵时,矩阵A没有逆矩阵,但可以找到一个与A的转置矩阵A‘同型的矩阵B,使得:A·B·A=AB·A·B=B此时称矩阵B为矩阵A的伪逆,也称为广义逆矩阵。在MATLAB中,求一个矩阵伪逆的函数是pinv(A)。 2.4 矩阵分析 例 求A的伪逆,并将结果送B。 命令如下: A=[3,1,1,1;1,3,1,1;1,1,3,1]; B=pinv(A) 例 求矩阵A的伪逆。 在MATLAB命令窗口,输入命令: A=[0,0,0;0,1,0;0,0,1]; pinv(A) 2.4 矩阵分析 2.4.4 方阵的行列式把一个方阵看作一个行列式,并对其按行列式的规则求值,这个值就称为矩阵所对应的行列式的值。在MATLAB中,求方阵A所对应的行列式的值的函数是det(A)。 A=rand(5) B=det(A) 例: 2.4 矩阵分析 2.4.5 矩阵的秩与迹1.矩阵的秩矩阵线性无关的行数与列数称为矩阵的秩。在MATLAB中,求矩阵秩的函数是rank(A)。2.矩阵的迹矩阵的迹等于矩阵的对角线元素之和,也等于矩阵的特征值之和。在MATLAB中,求矩阵的迹的函数是trace(A)。 2.4 矩阵分析 2.4.6 矩阵的特征值与特征向量在MATLAB中,计算矩阵A的特征值和特征向量的函数是eig(A),常用的调用格式有3种:(1) E=eig(A):求矩阵A的全部特征值,构成向量E。(2) [V,D]=eig(A):求矩阵A的全部特征值,构成对角阵D,并求A的特征向量构成V的列向量。 (3) [V,D]=eig(A,‘nobalance’):与第2种格式类似,但第2种格式中先对A作相似变换后求矩阵A的特征值和特征向量,而格式3直接求矩阵A的特征值和特征向量。 2.4 矩阵分析 例 用3种不同的格式求A的特征值和特征向量。 命令如下: A=[1,2,2;1,-1,1;4,-12,1]; E=eig(A) [V,D]=eig(A) [V,D]=eig(A,'nobalance') 设A为n阶矩阵,λ是一个数,如果方程Ax=λx存在非零解向量,则称λ为A的一个特征值,相应的非零向量x称为特征值λ对应的特征向量。 2.4 矩阵分析 例2-12 用求特征值的方法解方程。3x5-7x4+5x2+2x-18=0p=[3,-7,0,5,2,-18];A=compan(p); %A的伴随矩阵x1=eig(A) %求A的特征值x2=roots(p) %直接求多项式p的零点 两种方法求得的方程的根是完全一致的,实际上,roots函数正是应用求友矩阵的特征值的方法来求方程的根。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值