MATLAB线性代数问题求解剖析.ppt
《MATLAB线性代数问题求解剖析.ppt》由会员分享,可在线阅读,更多相关《MATLAB线性代数问题求解剖析.ppt(93页珍藏版)》请在三一办公上搜索。
1、第八讲 线性代数问题求解,8.1 矩阵特殊矩阵的输入,数值矩阵的输入零矩阵、幺矩阵及单位矩阵 生成nn方阵:A=zeros(n),B=ones(n),C=eye(n)生成mn矩阵:A=zeros(m,n),B=ones(m,n),C=eye(m,n)生成和矩阵B同样位数的矩阵:A=zeros(size(B),随机元素矩阵若矩阵随机元素满足0,1区间上的均匀分布 生成nm阶标准均匀分布为随机数矩阵:A=rand(n,m)生成nn阶标准均匀分布为随机数方阵:A=rand(n),对角元素矩阵 已知向量生成对角矩阵:A=diag(V)已知矩阵提取对角元素列向量:Vdiag(A)生成主对角线上第k条对角
2、线为V的矩阵:A=diag(V,k),例:diag()函数的不同调用格式 C=1 2 3;V=diag(C)%生成对角矩阵V=1 0 0 0 2 0 0 0 3 V1=diag(V)%将列向量通过转置变换成行向量V1=1 2 3 C=1 2 3;V=diag(C,2)%主对角线上第 k条对角线为C的矩阵V=0 0 1 0 0 0 0 0 2 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0,生成三对角矩阵:V=diag(1 2 3 4)+diag(2 3 4,1)+diag(5 4 3,-1)V=1 2 0 0 5 2 3 0 0 4 3 4 0 0 3 4,Hilbert矩阵及
3、逆Hilbert矩阵 生成n阶的Hilbert矩阵:A=hilb(n)求取逆Hilbert矩阵:B=invhilb(n),Hankel(汉克)矩阵 其中:第一列的各个元素定义为C向量,最后一行各个元素定义为R。H为对称阵。H1=hankel(C)由 Hankel 矩阵反对角线上元素相等得出一下三角阵均为零的Hankel 矩阵,Vandermonde(范德蒙)矩阵,伴随矩阵其中:P(s)为首项系数为一的多向式。,符号矩阵的输入 数值矩阵A转换成符号矩阵:B=sym(A)例:A=hilb(3)A=1.0000 0.5000 0.3333 0.5000 0.3333 0.2500 0.3333 0.
4、2500 0.2000 B=sym(A)B=1,1/2,1/3 1/2,1/3,1/4 1/3,1/4,1/5,8.1.2 矩阵基本概念与性质,行列式 格式:d=det(A)例:求行列式 A=16 2 3 13;5 11 10 8;9 7 6 12;4 14 15 1;det(A)ans=0,例:tic,A=sym(hilb(20);det(A),toc ans=elapsed_time=2.3140高阶的Hilbert矩阵是接近奇异的矩阵。,矩阵的迹 格式:t=trace(A)矩阵的秩格式:r=rank(A)用默认的精度求数值秩 r=rank(A,)给定精度下求数值秩 矩阵的秩也表示该矩阵中
5、行列式不等于0的子式的最大阶次。可证行秩和列秩(线性无关的)应相等。,例 A=16 2 3 13;5 11 10 8;9 7 6 12;4 14 15 1;rank(A)ans=3该矩阵的秩为3,小于矩阵的阶次,故为非满秩矩阵。例 H=hilb(20);rank(H)数值方法ans=13 H=sym(hilb(20);rank(H)%解析方法,原矩阵为非奇异矩阵ans=20,矩阵范数,矩阵的范数定义:格式:N=norm(A)求解默认的2范数 N=norm(A,选项)选项可为1,2,inf等,例:求一向量、矩阵的范数 a=16 2 3 13;norm(a),norm(a,2),norm(a,1)
6、,norm(a,Inf)ans=2.092844953645635e+001 2.092844953645635e+001 3.400000000000000e+001 1.600000000000000e+001 A=16 2 3 13;5 11 10 8;9 7 6 12;4 14 15 1;norm(A),norm(A,2),norm(A,1),norm(A,Inf)ans=34 34 34 34 符号运算工具箱未提供norm()函数,需先用double()函数转换成双精度数值矩阵,再调用norm()函数。,特征多项式格式:C=poly(A)例:A=16 2 3 13;5 11 10 8
7、;9 7 6 12;4 14 15 1;poly(A)直接求取ans=1.000000000000000e+000-3.399999999999999e+001 A=sym(A);poly(A)运用符号工具箱 ans=x4-34*x3-80*x2+2720*x,矩阵多项式的求解,符号多项式与数值多项式的转换格式:f=poly2sym(P)或 f=poly2sym(P,x)格式:P=sym2poly(f),例:P=1 2 3 4 5 6;%先由系数按降幂顺序排列表示多项式 f=poly2sym(P,v)%以 v 为算子表示多项式 f=v5+2*v4+3*v3+4*v2+5*v+6 P=sym2p
8、oly(f)P=1 2 3 4 5 6,矩阵的逆矩阵格式:C=inv(A)例:format long;H=hilb(4);H1=inv(H)H1=1.0e+003*,检验:H*H1ans=1.00000000000001 0.00000000000023-0.00000000000045 0.00000000000023 0.00000000000001 1.00000000000011-0.00000000000011 0.00000000000011 0.00000000000001 0 1.00000000000011 0 0.00000000000000 0.0000000000001
9、1-0.00000000000011 1.00000000000011计算误差范数:norm(H*inv(H)-eye(size(H)ans=6.235798190375727e-013 H2=invhilb(4);norm(H*H2-eye(size(H)ans=5.684341886080802e-014,H=hilb(10);H1=inv(H);norm(H*H1-eye(size(H)ans=0.00264500826202 H2=invhilb(10);norm(H*H2-eye(size(H)ans=H=hilb(13);H1=inv(H);norm(H*H1-eye(size(H
10、)Warning:Matrix is close to singular or badly scaled.Results may be inaccurate.RCOND=2.339949e-018.ans=53.23696008570294 H2=invhilb(13);norm(H*H2-eye(size(H)ans=11.37062973181391对接近于奇异矩阵,高阶一般不建议用inv(),可用符号工具箱。,H=sym(hilb(7);inv(H)ans=49,-1176,8820,-29400,48510,-38808,12012-1176,37632,-317520,1128960
11、,-1940400,1596672,-5045048820,-317520,2857680,-10584000,18711000,-15717240,5045040-29400,1128960,-10584000,40320000,-72765000,62092800,-2018016048510,-1940400,18711000,-72765000,133402500,-115259760,37837800-38808,1596672,-15717240,62092800,-115259760,100590336,-3329726412012,-504504,5045040,-201801
12、60,37837800,-33297264,11099088 H=sym(hilb(30);norm(double(H*inv(H)-eye(size(H)ans=0,例:奇异阵求逆 A=16 2 3 13;5 11 10 8;9 7 6 12;4 14 15 1;format long;B=inv(A)Warning:Matrix is close to singular or badly scaled.Results may be inaccurate.RCOND=1.306145e-017.B=1.0e+014*norm(A*B-eye(size(A)检验ans=1.6408151330
13、6419 A=sym(A);inv(A)奇异矩阵不存在一个相应的逆矩阵,用符号工具箱的函数也不行?Error using=sym/invError,(in inverse)singular matrix,同样适用于含有变量的矩阵求逆。例:syms a1 a2 a3 a4;C=a1 a2;a3 a4;inv(C)ans=-a4/(-a1*a4+a2*a3),a2/(-a1*a4+a2*a3)a3/(-a1*a4+a2*a3),-a1/(-a1*a4+a2*a3),矩阵的相似变换与正交矩阵 其中:A为一方阵,B矩阵非奇异。相似变换后,X矩阵的秩、迹、行列式与特征值等均不发生变化,其值与A矩阵完全一
14、致。对于一类特殊的相似变换满足如下条件,称为正交基矩阵。,例:A=5,9,8,3;0,3,2,4;2,3,5,9;3,4,5,8;Q=orth(A)Q=-0.6197 0.7738-0.0262-0.1286-0.2548-0.1551 0.9490 0.1017-0.5198-0.5298-0.1563-0.6517-0.5300-0.3106-0.2725 0.7406 norm(Q*Q-eye(4)ans=4.6395e-016 norm(Q*Q-eye(4)ans=4.9270e-016,例:A=16,2,3,13;5,11,10,8;9,7,6,12;4,14,15,1;Q=orth
15、(A)A为奇异矩阵,故得出的Q为长方形矩阵Q=-0.5000 0.6708 0.5000-0.5000-0.2236-0.5000-0.5000 0.2236-0.5000-0.5000-0.6708 0.5000 norm(Q*Q-eye(3)ans=1.0140e-015,8.2 线性方程组直接解法线性方程组直接求解矩阵除法,关于线性方程组的直接解法,如Gauss消去法、选主元消去法、平方根法、追赶法等等,在MATLAB中,只需用“”或“”就解决问题。它内部实际包含着许许多多的自适应算法,如对超定方程用最小二乘法,对欠定方程时它将给出范数最小的一个解,解三对角阵方程组时用追赶法等等。格式:
16、x=Ab,例:解方程组 A=.4096,.1234,.3678,.2943;.2246,.3872,.4015,.1129;.3645,.1920,.3781,.0643;.1784,.4002,.2786,.3927;b=0.4043 0.1550 0.4240-0.2557;x=Ab;xans=-0.1819-1.6630 2.2172-0.4467,线性方程组直接求解判定求解,例:A=1 2 3 4;4 3 2 1;1 3 2 4;4 1 3 2;B=5 1;4 2;3 3;2 4;C=A B;rank(A),rank(C)ans=4ans=4 x=inv(A)*Bx=-1.8000 2
17、.4000 1.8667-1.2667 3.8667-3.2667-2.1333 2.7333,检验 norm(A*x-B)ans=7.4738e-015精确解 x1=inv(sym(A)*B x1=-9/5,12/5 28/15,-19/15 58/15,-49/15-32/15,41/15检验 norm(double(A*x1-B)ans=0,原方程组对应的齐次方程组的解求取A矩阵的化零矩阵:格式:Z=null(A)求取A矩阵的化零矩阵的规范形式:格式:Z=null(A,r),例:判断可解性 A=1 2 3 4;2 2 1 1;2 4 6 8;4 4 2 2;B=1;3;2;6;C=A B
18、;rank(A),rank(C)ans=2 2 Z=null(A,r)%解出规范化的化零空间Z=2.0000 3.0000-2.5000-3.5000 1.0000 0 0 1.0000,x0=pinv(A)*B%得出一个特解x0=0.9542 0.7328%全部解-0.0763-0.2977验证得出的解 a1=randn(1);a2=rand(1);%取不同分布的随机数 x=a1*Z(:,1)+a2*Z(:,2)+x0;norm(A*x-B)ans=4.4409e-015,解析解 Z=null(sym(A)Z=2,3-5/2,-7/2 1,0 0,1 x0=sym(pinv(A)*B)x0=
19、125/131 96/131-10/131-39/131,验证得出的解 a1=randn(1);a2=rand(1);%取不同分布的随机数 x=a1*Z(:,1)+a2*Z(:,2)+x0;norm(double(A*x-B)ans=0通解 syms a1 a2;x=a1*Z(:,1)+a2*Z(:,2)+x0 x=2*a1+3*a2+125/131-5/2*a1-7/2*a2+96/131 a1-10/131 a2-39/131,摩尔彭罗斯广义逆求解出的方程最小二乘解不满足原始代数方程。,8.2.3 线性方程组的直接求解分析,LU分解,格式 l,u,p=lu(A)L是一个单位下三角矩阵,u是
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB 线性代数 问题 求解 剖析
链接地址:https://www.31ppt.com/p-5575705.html