收藏 分销(赏)

第3节Matlab中矩阵和其运算.docx

上传人:二*** 文档编号:4764716 上传时间:2024-10-12 格式:DOCX 页数:18 大小:50.64KB 下载积分:5 金币
下载 相关 举报
第3节Matlab中矩阵和其运算.docx_第1页
第1页 / 共18页
本文档共18页,全文阅读请下载到手机保存,查看更方便
资源描述
第3章Matlab中的矩阵及其运算矩阵是数学中-个十分重要的概念,其应用能够十分广泛,Mat lab中最基木最重要的功能 就是进行矩阵运算.其所有数值功能都已矩阵为基木单元来实现,掌握Matlab中的矩阵运算是十分重要的。 关键词:Matlab矩阵特殊短阵一、矩阵的生成1、矩阵生成有多种方式,通常使用的有四种: (1) 在命令窗口中直接输入矩阵 (2) 通过语句和函数产生矩阵在 (3) M文件中建立矩阵(4)从外部的数据文件中导入矩阵 其中第一种是最简单•常用的创建数值矩阵的方法,较适合创建较小的简单矩阵。把矩阵的元素直接排列到方括号中,每行内元素用空格或逗号相隔,行与行之间的内容用分号相隔。如: matrix=(l, 1, 1, 1 ;2, 2, 2, 2;3, 3, 3, 3;4,4, 4, 4]% 逗号形式相隔 matrix = matrix=[l 1 1 ] ;2 2 2 2 ;3 3 3 3;4 4 4 4]%采用空格形式相隔matrix = 2、特殊矩阵的生成 零矩阵和全1矩阵 零矩阵指各个元素都为零的矩阵。 (1) A=zeros(M,N)命令中.A为要生成的零矩阵,M和N分别为生成矩阵的行和列。若存在己知矩 (2) 阵B.要生成与B维数相同的矩阵,可以使用命令A=zeros(size(B))。 ⑶要生成方阵时,可使用命令A=zeros(N)来生成N阶方针。 全I矩阵用。nes函数实现。 24L原创力文档 max.bookl »顷览与源文档T1下岫•无水印3、矩阵的特征值运算 (I)用*由和祯炒两个函数来进行矩阵的特征值运算“其格式如下:F'y(X)命令生成由矩阵.'的特阵值 所组成的一个列向量"rj All -4-] 4. tp(?) [V,O]\(X)命令生成两个矩阵v和监其中V是以矩阵必瓣征向量作为列向量组成的短阵,n是由矩 阵威的特征用住舄聚槌冬利乘呼呷g撰矩牝 (3) U勺:佝命令是由迭代法求解矩阵的特阵除蟠贼档一我下载高%无水印眼倾独A,命令生成由矩阵处的特征值组成的一车列向量“,4必须为方阵,最好是大型稀疏 矩阵“ (4) [V,湃摊;消(石)命令生成两个短阵V和》其中V是以矩阵A的特征向量作为列向量组成的矩阵,n 是由矩阵A的特征值作为主对角线与元素构成的对角矩阵”原创力文档 ::max.bookl “'预蓝与源文档一纹下载高潢无水印 4具3»G n; n 0 9 c>] 技= :;:原创力文档max.bookl 预览与源文档一致下栽高清无水印 6060 -4. 8990-0. 5774 |(). 171 l|-0. 3416 -0.471415. oood |4. 8990|» D=eigs(a) »[V, D]=eigs (a)i.oood |o. 5000| -0. 866耳»[V, D]=eig(x) Io. 500d|0. 8660| -5. 19625. 1962 » D=cigs(a) -5. 1962 5. 1962 1.0000矩阵的范数运算 数值分析与计算方法所得不同之处在于引入了范数的概念.用norm和normest函数来计算矩阵的范数,其格式如下: (1) norm 函数norm (X)用来计算矩阵X的2-范数 norm (X. 2)与norm(X)的功能相同norm (X. 1)用来计算矩阵X的1-范数 norm (X. inf)用来计算矩阵X的无穷范数norm (X. ' fro*)用来计算矩阵X的frobenius范数 (2) normest 函数normest函数只能计算短阵的2-范数。且是其2-范数的估计值,适用于计算norm (X)比较费时的情况,其格式为normest (X). » X=hilb(4) 1.0000 0. 5000 0. 3333 0. 2500 0. 5000 0. 3333 0. 2500 0. 2000 0. 3333 0. 2500 0. 2000 0. 1667 0. 2500 0. 2000 0. 1667 0. 1429 » norm(4) ans =4 » norm(X) ans =1.5002 » norm(X, 2) ans =1.5002 ans2. 0833 » norm(X, inf)ans = 2. 0833» norm(X,f fro*) ans =5097 » normest(X)ans = 1.50025、矩阵的条件数运算 矩阵的条件舒适判断矩阵“病态”程度的一个量值,矩阵A的条件数越大,表明A越“病态”, 反之,表明A越“良态”。 (1) cond 函数 cond函数用于计算矩阵的条件数,cond(X)返回关于矩阵X的2-范数的条件数。cond(X.P) 关于矩阵X的P-范数的条件数(P为1、2、inf或fro) o (2) rcon 函数 rcond函数用于计算矩阵条件数的倒数值,所以当矩阵 X病态时,rcond(X)兢 接近0: X “良态”时,rcond (X)就接近1。 (3) condestcondesl(X)用于计算关于短阵X的1-范数的条件数的估计值。 » M=magic(3);» H=hilb ⑷; » cl=cond(M) 4.3301» c3=rcond(M) c3 = 0. 1875» c4=condest(M) c4 = 5. 3333» hl-cond(H) hi = 1.5514c+004» h2=cond(H, inf) h2 = 2.8375e+004» h3=rcond(H) 3.5242e-005» h4=condest(H) h4 = 1. 8375c+0046、特征值的条件数运算 通过函数condeig进行特征值条件数的计算。函数使用方式为condeig(A)或者[V,D. S]= condeig (A).其 中condeig (A )表示有矩阵的各特阵值条件数所构成的列向最:[V , D. S]= condeig (A )等价于上面介绍[V . D]=eig(A)和S=condeig(A)« V表示特征向量组成的矩阵,D表示特征值 组成的对角阵,S表示对应的特征值条件数。 l.Oe+OH * 0. 00000. 0000 0. 00001. 0000 » A=diag(V) 1.0e+011 *» Jt=cond(A) » Jt=cond(A) %矩阵的条件数计算 0. 0000 0 0 0 0 0. 0000 0 0 0 0 0. 0000 0 0 0 0 1.0000 Jt = 1.0000e+011» Tt=condeig(A) » Tt=condeig(A) 房矩阵特征值的条件数计算 Tt » M=magic(7) 30 39 48 1 10 19 28 38 47 7 9 18 27 29 46 6 8 17 26 35 37 5 14 16 25 34 36 45 13 15 24 33 42 44 4 21 23 32 41 43 3 12 22 31 40 49 2 11 20 » Jt=cond(M) %短阵的条件数i I •算 1%矩阵特征值的条件数计算 7. 1113 » Tt=condcig(M) Jt = Tt = 1. 0000 1. 0048 1.3171 1.3125 1. 0048 1.3125 1.3171 7、短阵的秩 用rank来求得矩阵的秩 » T=rand(6) T = 0. 9501 0. 4565 0. 9218 0. 2311 0.0185 0. 7382 0. 6068 0. 8214 0. 1763 0. 4860 0. 4447 0. 4057 0. 8913 0.6154 0. 9355 0. 7621 0. 7919 0.9169 0.4103 0. 1389 0.0153 0. 8936 0. 2028 0. 7468 0. 0579 0. 1987 0. 4451 0. 3529 0. 6038 0. 9318 0.8132 0. 2722 0. 4660 0. 0099 0. 1988 0.4186 »r=rank(T)r = 6» Tl=[l 1 1;2 2 3] T1 =»r=rank(Tl) trace函数求得。 8、短阵的迹 矩阵的迹是指矩阵主对角线上所有元素的和,也是矩阵的特征值。用 » T=trace(M)65 » Tl=eig(M) Tl =65. 0000 -21.2768 -13. 126321.2768 13. 1263 » 12=65-21-13+21+1365 9、短阵的伪逆 在MATLAB中,矩阵的伪逆运算可以有函数pinv实现。完整的应用形式为X=pinv(A).矩阵X和矩阵A同维数,并且矩阵A和矩阵X满足条件A • X*A=A. X,A*X=X和A*X=X*A=I (在一定的误差条件下近似成立) » A=magic(4) 16 2 3 13 5 11 10 8 9 7 6 12 4 14 15 1 » B=inv(A) Warning: Matrix isclose to singular or badly scaled. RCOND = l.e-017. Results may be inaccurate. B=[l 2345 ;2 3456 :9 8765 :8 765 4] 876A=zeros(size(B)) A=zeros(5)C=ones(5, 6) C=oncs(3) 2.8147 -2.8147 -0. 9382 » Bl-pinv(A) 8. 4442 -8. 4442 -2.8147 -8.4442 8. 4442 2.8147 -2.8147 2.8147 0. 9382 Bl = 0. 1011 -0. 0739 -0. 0614 0. 0636 -0. 0364 0. 0386 0. 0261 0. 0011 0.0136 -0.0114 -0. 0239 0.0511 -0. 0189 0. 0761 0. 0886 -0. 0864 »C1=A, B Cl = 1.0000 0 -1.0000 -0.5000 -0. 2500 0 0 0. 3750 0. 2500 0. 5000 0 -0. 2500 0. 1563 0. 1250 0 1.2344 » C2=A, Bl C2 = 0. 9500 -0. 1500 0. 1500 0. 0500 -0. 1500 0. 5500 0. 4500 0. 1500 0. 1500 0. 4500 0. 5500 -0. 1500 0. 0500 0. 1500 -0. 1500 0. 9500 »C3=R*A, [1 111]' C3 = 0. 8138 6. 6250 -4.3125 0. 4219» C4=B1,A*[1 1 I lY C4 = 2、单位矩阵的生成 (1) A=eye(M,N)命令,可生成单位矩阵,M和N分别为生成单位矩阵的行和列。 (2) 若存在己知短阵B.要生成一个与B维数相同的单位矩阵,可以使用命令A=eye(size(B))。 ⑶ 也可以使用A=eye(N)来生成N阶方阵。 A=cyc (4, 5) A=eye(size(B)) %B 与上例相同 A=eye(4) 3对角矩阵的生成 对角矩阵指的是对角线上的元素为任意数,其它元素为0的矩阵。 (1)A=diag(V,K)命令中,V为某个向最,K为向量V偏离主对角线的列数。K=0时表示V为主对角线:K>0的数时表示V在主对角线上:K<0表示V在主对角线以下。 ⑵A=diag(V)相当于 A=diag(V ,0) v=[l 98 16] diag(v, 1) ans diag(v, -1) ans = diag(v, -l) ans4、上三角阵和下三角阵的生成 ⑴triu(X, K)命令中,K=0表示主对角线以上部分(包括主对角线):K>0表示矩阵的主 对角线K列以上的部分:KS表示矩阵的主对角线K列以下的部分。|lriu(X)等价于 triu(X. 0) oB=[l 9 8 0;1 98 1;1 9 4 9;2 0 0 8J triu(B, 2) ans = triu(B) ans = triu(B. 0) ans = 5、随机短阵的生成 随机矩阵之短阵元素是由随机数构成的矩阵. (1) (2) rand(N)生成N阶随机矩阵,生成的元素值在区间( rand(M,N)命令生成M*N阶随机矩阵,生成的元素值在区问( randn(N)命令生成N阶随机矩阵,生成的元素服从正态分布 randn(M, N)命令生成 0. 0. 1.0)之间。 0. 0. 1.0)之间。 N (0. Do 阶随机矩阵. 生成的元素服从正态分布 N (0. 1)0 rand(5) ans 0. 9501 0. 7621 0.6154 0. 1057 0. 0579 0. 2311 0. 4565 0. 7919 0. 9355 0. 3529 0. 6068 0.0185 0. 9218 0.9169 0.8132 0. 1860 0. 8214 0. 7382 0.4103 0. 0099 0. 8913 0. 4447 0. 1763 0. 8936 0. 1389 randn (5) ans = -0. 4326 1. 1909 -0. 1867 0. 1139 0. 2944 -1.6656 1. 1892 0. 7258 1.0668 -1.3362 0. 1253 -0. 0376 -0. 5883 0. 0593 0.7143 0. 2877 0. 3273 2. 1832 -0. 0956 1.6236 -1. 1465 0. 1746 -0. 1364 -0. 8323 -0. 6918 6、范德蒙德矩阵的生成 范德蒙德矩阵是线性代数中一个很重要的矩阵。用 A=vander(V),其中有V(i,j)=V(i)'(n-j)。 v=[l 3 5 7 9];A=vander(v) 81 27 9 3 1 625 125 25 5 1 2401 343 49 7 1 6561 729 81 9 1 7、魔术矩阵魔术矩阵是一个方阵,且方针的每一行每一列以及每条主对角线的元索之和都相同2阶方 阵除外),用magic函数生成魔术矩阵。Magic(N)命令生成N阶的魔术矩阵,使矩阵的每一行每一列以及主对角线的元素和相等:N>0或N=2除外。 magic(2)ans = magic(3) ans = magic(4) ans = 16 2 3 13 5 11 10 8 9 7 6 12 4 14 15 1 7> Hilbert矩阵和反Hilbert矩阵的生成 Hilbert矩阵是有名的病态矩阵,它的第 i行第J列的元素值为U(i+j-l)。矩 (1) hilb(N)命令生成N阶的Hilbert 阵。 (2) i nvh ilb (N)命令生成“阶反 Hilbert 矩阵。 A=hilb(5) 1.0000 0. 5000 0. 3333 0. 2500 0. 2000 0. 5000 0. 3333 0. 2500 0. 2000 0. 1667 0. 3333 0. 2500 0. 2000 0. 1667 0. 1429 0. 2500 0. 2000 0. 1667 0. 1429 0. 1250 25 -300 1050 -1400 630 -300 4800 -18900 26880 -12600 1050 -18900 79380 - 56700 -1400 26880 - -88200 630 -12600 56700 -88200 44100 C=A*B C = 1.0000 0 0 0 0 0 1. 0000 0 0 0 0 01.0000 -0. 0000 0 0 0 0 1.0000 0 0 00 0 1.0000 8. Hadamard 矩阵 Hadamard矩阵为元素1或T组成 并且满足条件H-H=N. I, Hadamard矩阵的维数为N,为N阶单•位矩阵Hadamard 短阵在组合数学,数值分析和信号处理方面都有广泛的应用。 与要注意的是,当N=1时,Hadamard矩阵就是I.当N>=2时,血damard的维数N有一定的要求,即N、N/12或N/20是2的正整数次慕。 Hadamard(8) ans = 11 1 1 1 1 1-1-1 1 -1 1 -1 -1 11 -1 1 1 -1 1・1 -1 1 1 -1 -1-1 1 -1 -1 -1 1 -1 -1 1 1 1 1 -1 -1 -1 -1 1-1 T -1 1 -1 1 hadamard(6) ??? Error using => hadamard r must be an integer and n, n/12 or n/20 must be a power of 2. 9> Hanke!矩阵 Hanke1矩阵是针对于一个向量C或者两个向量C或R,而生成的一个对称矩阵。矩阵中各元素满 足如下规律: (1)当只有一个向量C时,H=hankel (C):以向量C作为Hanke 1 矩阵的第一列:反对角线上的各元素相等:主反对角线下方元素为 0。 ⑶ 当有两个向最C和R时,H=hankcl (C. R):以向量C作为Hanke 1矩阵的的第一列:以向量R作为矩阵的第一行;当C的第一个元素不同于R的第一个元素时,取C的第一个 元素作为主反对角上的元素。 » c=[5 6789 10); r=[6 7 8 9 10 11J: H=hankel (c) H = 5 67 8 9 10 6 78 9 10 0 7 89 10 0 0 8 910 0 0 0 9 10o 0 0 0 10 00 0 0 0 »H=hankel(c, r) Warning: Last element of input column does not match first element of input row. Column wins anti-diagonal confIict. (Type "warning off MATLAB:hanke1:AntiDiagona1Conf1ict" to suppress this warning.) > In C:\MATLAB6p5\toolbox\ma11ab\e1maI\hanke1. m at line 27 5 6 7 8 9 10 6 7 8 9 10 7 7 8 9 10 7 8 8 9 10 7 8 9 9 10 7 8 9 1() 10 7 8 9 10 11 10、Toepl itz 矩阵 Toepl itz矩阵与Hankel矩阵类似.也是针对于一个向量C或者两个向量C或R,而生 成的一个对称矩阵。矩阵中各元素潢足如下规律: ⑴当只有一个向量C时,T=tocplita (C):以向量C作为Tocplitz矩阵的第一列:对角线上的各元素相等:各元素关于主对角线对称。 ⑵当有两个向量C或R时, T=toeplitz(C, R)时:以向量C作为Toeplitz矩阵 的第一列:以向量R作为矩阵的最后一行:当C的第一个元素不同于R第一个元 素时,取C的第一个元素作为主对角上的元素。 »c=[5 6 78 9 10]; r=[6 7 8 9 10 11); T=toeplitz(c) 98 7 6 5 6 109 8 7 6 5 » T=toeplitz(c, r) Warning: First element of input column does not match first element of input row. Column wins diagonal conflict. (Type "warning off MATLAB:toeplitz:DiagonalConflictw to suppress this warning.)> In C:\MATLAB6p5\too1box\ma11ab\e1mat\toep1i tz. m at 1ine 18 1010 910 二、矩阵的特征参数运算I、矩阵的逆运算的充分必要条件是矩阵的行列式不为零. A=(l 0 0 0:1 2 0 0;2 1 3 0;1 2 1 4]» B=inv(A) -0. 5000||o. 500d 0. 5000|I 0. 1667 0. 3333 |0. 1250|-0.2083|-0.08330.2500|del函数操作。 del函数操作。 2、矩阵的行列式运算当垢鹿为方盛时.M以i并彳〒钉唾的行列夜、3云竟榻作.H」 » x=dct(A)M、B取自上例
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 通信科技 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服