matlab入门线性代数

上传人:san****019 文档编号:71618445 上传时间:2019-01-21 格式:PPT 页数:41 大小:468.81KB
返回 下载 相关 举报
matlab入门线性代数_第1页
第1页 / 共41页
matlab入门线性代数_第2页
第2页 / 共41页
matlab入门线性代数_第3页
第3页 / 共41页
matlab入门线性代数_第4页
第4页 / 共41页
matlab入门线性代数_第5页
第5页 / 共41页
点击查看更多>>
资源描述

《matlab入门线性代数》由会员分享,可在线阅读,更多相关《matlab入门线性代数(41页珍藏版)》请在金锄头文库上搜索。

1、第三章 线性代数,3.1 常用矩阵函数,norm : 矩阵或向量范数,For vectors. norm(V,P) = sum(abs(V).P)(1/P). norm(V) = norm(V,2). norm(V,inf) = max(abs(V). norm(V,-inf) = min(abs(V).,例 x=1 2 3 4 5; x=1 20 300 40 5; x=10000 2000 300 40 5; norm(x,1), norm(x,2), norm(x,3), norm(x,inf),For matrices. norm(X) is the largest singular

2、value of X, max(svd(X). norm(X,2) is the same as norm(X). norm(X,1) is the 1-norm of X, the largest column sum, = max(sum(abs(X). norm(X,inf) is the infinity norm of X, the largest row sum, = max(sum(abs(X). norm(X,fro) is the Frobenius norm, sqrt(sum(diag(X*X). norm(X,P) is available for matrix X o

3、nly if P is 1, 2, inf or fro.,例 x=1 20 300 ;400 50 6;70 800 9; norm(x,1), norm(x,2), norm(x,inf) , norm(x, fro),dot(x,y) 向量的内积 det(A) 方阵的行列式; rank(A) 矩阵的秩; trace(A) 矩阵的迹; rref(A) 初等变换化矩阵A为阶梯矩阵 inv(A) 矩阵的逆;即 A-1 pinv(A) 矩阵的广义逆A+ null(A) 零空间的基阵 roth(A) 值空间的基阵 orth(A) 将A标准正交化 cond(A,flag) 矩阵的条件数, flag=

4、2, 1, inf, fro;,例:分别求x=1 3 7 8 -2,y=3 9 3 -3 9的长度与它们的夹角。 x=1 3 7 8 -2;y=3 9 3 -3 9; xx=norm(x,2); yy=norm(y,2); theta=acos(dot(x,y)/(xx*yy); s=xx,yy,theta,例:给定一组线性无关的向量,将其标准正交化 a=magic(5); b=orth(a),d=eig(A) : 方阵的特征值; V,D=eig(A) : A*V=V*D V,J=jordan(A) : A*V=V*J c=condeig(A) : 向量c中包含矩阵A关于各 特征值的条件数 V

5、,D,c=condeig(A):,例: A=1 0 0;1 2 0;1 2 3, d=eig(A), V,D=eig(A), C=condeig(A), V,D,C=condeig(A),例:观察7阶随机矩阵特征值的分布 a=rands(7,7) %产生7阶随机矩阵 e=eig(a) title(特征值的分布); plot(real(e),imag(e),o) xlabel(实轴); ylabel(虚轴);,注:本例验证了如下定理:实方阵的特征值或为实 数或呈共轭对出现。,例:观察正交矩阵的特征值分布 a=rands(7,7); b=orth(a); %构造一个正交矩阵 theta=0:0.0

6、1:2*pi; e=eig(b); plot(real(e),imag(e),r*,cos(theta),sin(theta); axis equal title(正交矩阵特征值的分布); xlabel(实轴); ylabel(虚轴);,注:本例验证了正交矩阵的特征值分布在复平面的单 位圆上。,3.2 矩阵的运算,一、矩阵的转置、乘积,逆,A=1 0 0;1 2 0;1 2 3, A_trans=A H=1 2 3 ; 2 1 0 ; 1 2 3 , K=1 2 3 ; 2 1 0 ; 2 3 1 HK=H*K H_inv=inv(H),K_inv=K-1,二、矩阵的左除和右除,左除“ ”:

7、求矩阵方程AX=B的解;( A 、B的行要保持一致) 解为 X=AB; 当A为方阵且可逆时有X=AB=inv(A)*B; 右除“ / ”: 求矩阵方程XA=B的解 (A 、B的列要保持一致) 解为 X=B/A , 当A为方阵且可逆时有X=B/A=B*inv(A),【例】“求逆”法和“左除”法解恰定方程的性能对比 (1)构造一个条件数很大的高阶恰定方程 randn(state,0); A=gallery(randsvd,100,2e13,2); x=ones(100,1); b=A*x; cond(A) ans = 1.9990e+013,(2)用“求逆”法求解 tic xi=inv(A)*b;

8、 ti=toc eri=norm(x-xi) rei=norm(A*xi-b)/norm(b),ti = 0.4400 eri = 0.0469 rei = 0.0047,(3)用“左除”法求解 tic;xd=Ab; td=toc, erd=norm(x-xd), red=norm(A*xd-b)/norm(b) td = 0.0600 erd = 0.0078 red = 2.6829e-015,ti = 0.4400 eri = 0.0469 rei = 0.0047,求矩阵方程: 设A、B满足关系式:AB2B+A,求B。 其中A=3 0 1; 1 1 0; 0 1 4。 解:有(A-2I

9、)BA 程序 : A=3 0 1; 1 1 0;0 1 4; B=inv(A-2*eye(3)*A, BB=(A-2*eye(3)A 观察结果:,三.矩阵函数的计算,给定n阶方阵A,求exp(A),sqrt(A),log(A)矩阵函数的Matlab函数分别为 expm(A),sqrtm(A),logm(A),例:求三个特殊矩阵函数 a=magic(3); e=expm(a) %求矩阵函数 ee=exp(a) % 求矩阵中每个元素的函数值 s=sqrtm(a) ss=sqrt(a) l=logm(a) ll=log(a),L,U,P=lu(A) : PA=LU r=chol(A) : A=LLT

10、 , r=LT Q,R=qr(A), Q,R=qr(A,0) : A=QR U,S,V=svd(A) : A=USVT Q,R=schur(A) : QTAQ=R P,H=hess(A) : PAP-1=H,3.3 常用矩阵分解函数,实方阵的初等化简分解: A1=3 1 3;2 5 2;1 2 3, L,U=lu(A1) A2=1 1 2;1 2 3;1 2 1;1 1 6, Q,R=qr(A2), Q1,R1=qr(A2,0) A3=2 1 1;1 4 -1;1 -1 3, r=chol(A3),奇异值分解: A=1 1;1 1;0 0, U,D,V=svd(A), U1,D1,V1=svd

11、(A,0),实方阵的正交相似化简: Q,R=schur(A) A1=3 1 0;-4 -1 0;4 8 -2, Q1,R1=schur(A1) A2=9 -31 49 30;1 0 0 0;1 1 0 0;0 0 1 0, Q2,R2=schur(A2) A3=2 1 1;1 4 -1;1 -1 3, Q3,R3=schur(A3),实方阵的上Hessenberg分解:P,H=hess(A) A1=3 1 0;-4 -1 0;4 8 -2, P,H=hess(A1) P*H*inv(P),3.4 稀疏矩阵,一.稀疏矩阵的特点和存储,在编辑器内建立一个 数据文本文件:st.m 行 列 aij 1

12、 1 3 2 1 2 1 2 1 2 2 1 3 2 5 4 2 1 3 4 3 3 2,load st.m sa=spconvert(st) sa = (1,1) 3 (2,1) 2 (1,2) 1 (2,2) 1 (3,2) 5 (4,2) 1 (2,3) 4 (3,3) 2,二.稀疏矩阵的运算,例: a=full(sa) a = 3 1 0 2 1 4 0 5 2 0 1 0 pa=0 1 0 0;1 0 0 0 0 0 0 1;0 0 1 0 pa = 0 1 0 0 1 0 0 0 0 0 0 1 0 0 1 0, pa*sa ans = 2 1 4 3 1 0 0 1 0 0 5

13、2,1.稀疏矩阵的初等变换,行初等变换 pv=2 1 4 3; s1=sa(pv,:),列初等变换 pv=2 1 3; s2=sa(:,pv), s1=spa*sa s1 = (1,1) 2 (2,1) 3 (1,2) 1 (2,2) 1 (3,2) 1 (4,2) 5 (1,3) 4 (4,3) 2,spa=sparse(pa) spa = (2,1) 1 (1,2) 1 (4,3) 1 (3,4) 1,2.稀疏矩阵的分解函数,L,U,P=lu(sa) L,U=luinc(sa,0) r=chol(sa) r=cholinc(sa, 0) Q,R=qr(sa) eigs(sa) svds(s

14、a),例 A=4 1 0 0 0;1 4 1 0 0;0 1 4 1 0; 0 0 1 4 1;0 0 0 1 4; sa=sparse(A); L,U,P=lu(sa),用下面例子说明稀疏矩阵的处理优点,xs.m %设n=3000,输入 n=3000;b=1:n; a1=sparse(1:n,1:n,1,n,n); a2=sparse(2:n,1:n-1,1,n,n); a=4*a1+a2+a2; %输出用稀疏矩阵求解的时间t1 tic;x=ab;t1=toc aa=full(a); %输出用满矩阵求解的时间t2 tic;xx=aab;t2=toc %为检验x与xx是否相同分别输出其分量之和

15、 y=sum(x) yy=sum(xx) %结果y与yy相同,而t1与t2相差巨大,1.不用预优矩阵的共轭斜量法 x=pcg(a,b,tol,kmax) 2.用预优矩阵的共轭斜量法 (1)x=pcg(a,b,tol,kmax,m) (2) r=chol(m) x=pcg(a,b,tol,kmax,r,r,x0) 3.未给定预优矩阵的共轭斜量法 r=cholinc(sa,0) x=pcg(a,b,tol,kmax,r,r,x0),3.5 用预条件共轭斜量法求解线性方程组,其中a,m为对称正定矩阵,1.不用预优矩阵的双共轭梯度法 x=bicg(a,b,tol,kmax) 2.用预优矩阵的双共轭梯度法 l,u=lu(m) x= bicg(a,b,tol,kmax,l,u,x0) 3.未给定预优矩阵的双共轭梯度法 l,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号