Matlab在线性代数中的应用1

上传人:yx****d 文档编号:243095004 上传时间:2024-09-15 格式:PPT 页数:42 大小:280.50KB
返回 下载 相关 举报
Matlab在线性代数中的应用1_第1页
第1页 / 共42页
Matlab在线性代数中的应用1_第2页
第2页 / 共42页
Matlab在线性代数中的应用1_第3页
第3页 / 共42页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,Matlab,在线性代数中的应用,1,目标要求,会给矩阵赋值,会进行矩阵的基本运算,包括:加、减、数乘,乘法,转置,幂等运算,会用命令,inv,计算矩阵的逆,会用命令,det,计算行列式;,会用命令,rank,计算矩阵的秩;,会用命令,rref,把矩阵变为行最简型;,会用命令,rref,计算矩阵的逆,会用命令,rref,解方程组的解,会用命令,rref,找出向量组的最大无关组,会用命令,null,计算齐次线性方程组的基础解系,会用左除运算计算非齐次方程组的特解,会用命令,orth,把向量组正交规范化,会用命令,eig,计算矩阵的特征值和特征向量,会用命令,eig,把二次型标准化,会用命令,eig,判断二次型的正定性,2,1,矩阵赋值,赋值语句一般形式,变量,=,表达式(或数),如:输入,a=1 2 3; 4 5 6; 7 8 9,显示,a = 1 2 3,4 5 6,7 8 9,输入,x=-1.2 sqrt(3) (1+2+3)/5*4,显示,x=-1.2000 1.7321 4.8000,规则:矩阵元素放在方括号中,元素之间以空格或逗号分隔,不同行以分号分隔,语句结尾用回车或逗号将显示结果,3,基本赋值矩阵,ones(m,n), zero(m,n), magic(n), eye(n), rand(m,n), round(A),如:输入,f1=ones(3, 2),显示,f1= 1 1,1 1,1 1,输入,f2=zero(2, 3),显示,f2= 0 0 0,0 0 0,1,矩阵赋值,输入,f3=magic(3),显示,f3= 8 1 6,3 5 7,4 9 2,输入,f4=eye(2),显示,f4= 1 0,0 1,4,2,矩阵的基本运算,矩阵算术运算书写格式与普通算术相同,包括加、减、乘、除。可用括号规定运算的优先级。,Matlab,将矩阵加、减、乘的程序编为内部函数,只要用,+,-*,做运算符号就包含阶数检查和执行运算的全过程,两相加矩阵有一个是标量时,,Matlab,承认算式有效,自动把标量扩展为同阶等元素矩阵,如:键入,X=-1 0 1; Y=X-1,得,Y= -2 -1 0,矩阵除法,矩阵求逆,inv(A),,如果,det(A),等于或很接近零,,Matlab,会提示出错,“左除”与“右除”,左乘或右乘矩阵的逆,,A,或,/A,5,2,矩阵的基本运算,幂运算,A*A*A=A5,转置,理论学习中,,A,的转置表示为,A,T,,在,Matlab,中用“,”,表示,6,3,行列式与方程组求解,相关命令,U=rref(A),对矩阵,A,进行初等行变换,矩阵,U,为,A,的最简梯矩阵,det(A),计算矩阵,A,的行列式,rank(A),计算矩阵,A,的秩,B(: , i)=b,把向量,b,赋给矩阵,B,的第,i,行,A(i, j),引用矩阵,A,中第,i,行,j,列的元素,A, eye(5),创建,510,矩阵,前,5,列为,A,,后,5,列为单位矩阵,syms x,定义,x,为符号变量,7,3,行列式与方程组求解,逆矩阵各种求法:,clear,A=-7,-2,-6,4,6;1,3,-6,3,11;3,-11,9,5,-2;-3,0,-2,9,-3;7,30,-18,11,4;,% 1.,命令法:,An1=inv(A),% 2.,幂运算法:,An2=A-1,% 3.,右除法:,An3=eye(5)/A % eye(5),为,5,阶单位矩阵,% 4.,左除法:,An4=Aeye(5),% 5.,初等行变换法:,B=rref(A,eye(5); %,对矩阵,A , I,进行初等行变换,% B,为矩阵,A,的最简行阶梯矩阵,if(rank(B(:,1:5)=5) %,判断最简行阶梯矩阵,B,的前,5,列是否为单位阵,An5=B(:,6:10) %,取出矩阵的后,5,列,并显示,else,disp(A,不可逆,);,end,思考:如何用求逆阵或初等变换法解方程组?,8,3,行列式与方程组求解,%,求解符号行列式方程,clear %,清除各种变量,syms x %,定义,x,为符号变量,A=3,2,1,1;3,2,2-x2,1;5,1,3,2;7-x2,1,3,2,D=det(A) %,计算含符号变量矩阵,A,的行列式,D,f=factor(D) %,对行列式,D,进行因式分解,%,从因式分解的结果,可以看出方程的解,X=solve(f) %,求方程“,D,0”,的解,解方程:,9,4,向量组的线性相关性及方程组的通解,相关命令,R, s=rref(A),把矩阵,A,的最简梯矩阵赋值给,R,;,s,是一个行向量,它的元素由,R,的首非零元所在列号构成,null(A, r),齐次线性方程组,Ax=0,的基础解系,x0=Ab,非齐次线性方程组,Ax=b,的一个特解,x0,length(s),计算,s,向量的维数,end,矩阵的最大下标,最后一行或最后一列,find(s),向量,s,中非零元素的下标,sub(A, k, n),将,A,中所有符号变量,k,用数值,n,代替,10,4,向量组的线性相关性及方程组的通解,求非齐次线性方程组的通解,11,4,向量组的线性相关性及方程组的通解,%,求齐次线性方程组的通解,clear,A=2,4,-1,4,16;-3,-6,2,-6,-23;3,6,-4,6,19;1,2,5,2,19;,%,输入系数矩阵,A,b=-2;7;-23;43; %,输入常数列向量,b,R,s=rref(A,b); %,把增广矩阵的最简行阶梯矩阵赋给,R,%,而,R,的所有基准元素在矩阵中的列号构成了行向量,s,m,n=size(A); %,矩阵,A,的行数、列数赋给了变量,m,、,n,x0=zeros(n,1); %,将特解,x0,初始化为,N,维零向量,r=length(s); %,矩阵,A,的秩赋给变量,r,x0(s,:)=R(1:r,end); %,将矩阵,R,的最后一列按基准元素的位置给特解,x0,赋值,disp(,非齐次线性方程组的特解为:,),x0 %,显示特解,x0,disp(,对应齐次线性方程组的基础解系为:,),x=null(A,r) %,得到齐次线性方程组,Ax,0,的基础解系,x,12,4,向量组的线性相关性及方程组的通解,当,k,取何值时方程组有非零解?在有非零解的情况下,求出其基础解系,已知齐次线性方程组:,13,4,向量组的线性相关性及方程组的通解,clear,syms k %,定义符号变量,k,A=1-2*k,3,3,3;3,2-k,3,3;3,3,2-k,3;3,3,3,11-k;,%,给系数矩阵赋值,D=det(A); %,算出系数矩阵的行列式,D,f=factor(D),kk=solve(f); %,解方程“,D,0”,,得到解,kk,,即,k,值,for i=1:4,AA=subs(A,k,kk(i); %,分别把,k,值代入系数矩阵,A,中,fprintf(,当,k=);,disp(kk(i); %,显示,k,的取值,fprintf(,基础解系为:,n);,disp(null(AA) %,计算齐次线性方程组“,Ax=0”,的基础解系,end,14,平板稳态温度的计算,整理为,15,化学方程的配平,确定x1,x2,x3,x4,使两边原子数相等称为配平,方程为,写成矩阵方程,16,电阻电路的计算,设定三个回路电流,ia,ib,ic,,回路压降的方程为:,17,信号流图模型,信号流图是用来表示和分析复杂系统内的信号变换关系的工具。右图方程如下。,写成矩阵方程,或,x=Qx,Pu,移项整理,可以得到求信号向量,x,的公式。,u,x,1,G,1,x,2,G,2,18,信号流图的矩阵解法,( I Q ) x= Pu,,,x =,inv,( I Q )*Pu,定义系统的传递函数,W,为输出信号与输入信号之比,x/u,,,则,W,可按下式求得:,W=x/u,= inv,( I Q )*P,因为,得到,19,复杂点的信号流图,按右面的信号流图,照上述方法列出它的方程如下:,x,1,= -G,4,x,3,+ u,x,2,= G,1,x,1,-G,5,x,4,x,3,= G,2,x,2,x,4,= G,3,x,3,20,信号流图的矩阵方程,列出的矩阵方程为:,矩阵中的参数是符号而不是数,,MATLAB,的许多函数(特别是求逆)都可以处理符号,带来了极大的方便。只要在程序第一行注明哪些是符号变量:,syms G1 G2 ,21,用符号运算工具箱求解,矩阵代数方法的最大好处是可用于任意高的阶次的信号流图,实现传递函数推导的自动化,如下题的,MATLAB,程序,ag863,syms G1 G2 G3 G4 G5,Q=0,0,G4,0;G1,0,0,G5;0,G2,0,0;0,0,G3,0,P=1;0;0;0,W=inv(eye(4),Q)*P,pretty(W(4),运行结果为,22,5,特征向量与二次型,orth(A),求出矩阵,A,的列向量组构成空间的一个正交规范基,P=poly(A),计算,A,的特征多项式,,P,是行向量,元素为多项式系数,roots(P),求多项式,P,的零点,r=eig(A), r,为列向量,元素为,A,的特征值,V, D=eig(A),矩阵,D,为,A,的特征值所构成的对角阵,,V,的列向量为,A,的特征向量,与,D,中特征值一一对应,V, D=schur(A),矩阵,D,为对称阵,A,的特征值所构成的对角阵,,V,的列为,A,的单位特征向量,与,D,中特征值一一对应,23,5,特征向量与二次型,已知矩阵,求其特征值。,A=2,-2,-20,-19;-2,16,-9,11;-8,4,-6,1;0,-8,-4,-7;,% 1.,符号变量法,syms k %,定义符号变量,k,B=A-k*eye(length(A); %,构造矩阵,B=(A-kI,),D=det(B); %,计算行列式:,|A-kI|,lamda1=solve(D) %,求,|A-kI|=0,的符号形式的解,% 2.,特征多项式法,P=poly(A); %,计算矩阵,A,的特征多项式, 向量,P,的元素为该多项式的系数,lamda2=roots(P) %,求该多项式的零点,即特征值,% 3.,命令法,lamda3=eig(A) %,直接求出矩阵,A,的特征值,24,5 特征向量与二次型,求矩阵的特征值和特征向量,判断是否可对角化,如可以则找出可逆矩阵,V,,使,V,-1,AV=D,A=1,2,3;2,1,3;1,1,2;,V,D=eig(A),25,5 特征向量与二次型,用正交变换法将二次型 化为标准型,clear,A=1,0,0;0,2,2;0,2,2; %,输入二次型的矩阵,A,V,D=eig(A); %,其中矩阵,V,即为所求正交矩阵,%,矩阵,D,为矩阵,A,的特征值构成的对角阵,%,或:,V,D=schur(A) %,结果和,eig( ),函数相同,disp(,正交矩阵为:,);,V,disp(,对角矩阵为:,);,D,disp(,标准化的二次型为:,);,syms y1 y2 y3,f=y1,y2,y3*D*y1;y2;y3,26,平面上线性变换的几何意义,例,9.1,设,x,为二维平面上第一象限中的一个单位方块,其四个顶点的数据可写成,把不同的,A,矩阵作用于此组数据,可以得到多种多样的结果,y,i,=A,i,*x,。用程序,ag911,进行变换计算,并画出,x,及,y,i,图形:,x,0,1,1,0;0,0,1,1;,subplot(2,3,1),fill(x(1,:),0,x(2,:),0,r),A1,1,0;0,1, y1,A1*x,subplot(2,3,2),fill(y1(1,:),0,y1(2,:),0,g),27,几种变换的行列式与特征值,28,二维矩阵特征值的几何意义,二维矩阵的特征值表示该变换在原图形的特征向量的方向上的放大量。例如矩阵,A,1,在第一特征向,量 方向的特征值为,即横轴,正方向的增益为,1,,其结果是把原图中横轴正方向的部分变换到新图的负方向去了;,A,1,在第二特,征向量 的方向的特征值为,1,(2)=1,,,即纵轴正方向的增益为,1,,因而保持了新图和原图在纵轴方向尺度不变。,29,用,eigshow,函数看特征值,对于比较复杂的情况,完全凭简单的几何关系去想像是困难的,应当用,eigshow,函数,联系,x,和,Ax,的向量图来思考。,键入,eigshow(,A,4,),。绿色的,x,表示原坐标系中的单位向量,可以用鼠标左键点住,x,并拖动它围绕原点转动。图中同时出现以蓝色表示的,Ax,向量,它表示变换后的新向量。当两个向量处在同一条直线上时(包括同向和反向),表示两者相位相同,只存在一个(可正可负的)实数乘子,,,Ax,x,30,Eigshow(A4),产生的图形,31,eigshow(1,2; 2,2),的图形,将,eigshow(1,2; 2,2),粘贴到命令窗,32,A,是对称实矩阵的情况,特别要注意,A,是对称实矩阵的情况,所谓对称矩阵是满足,A,T,A,的矩阵。,对,2,2,矩阵,只要求,A,(1,2),A,(2,1),。例如令,A,=1,2;2,2,再键入,eigshow(,A,),,这时的特点是:,Ax,x,出现在,Ax,椭圆轨迹的主轴上,所以两个特征值分别对应于单位圆映射的椭圆轨迹的长轴和短轴。此时,A,的特征值为,-0.5616,和,3.5616,,可以和图形对照起来看。,33,人口迁徙模型,设在一个大城市中的总人口是固定的。人口的分布则因居民在市区和郊区之间迁徙而变化。每年有,6%,的市区居民搬到郊区去住,而有,2%,的郊区居民搬到市区。假如开始时有,30%,的居民住在市区,,70%,的居民住在郊区,问,10,年后市区和郊区的居民人口比例是多少?,30,年、,50,年后又如何?,这个问题可以用矩阵乘法来描述。把人口变量用市区和郊区两个分量表示,一年以后,市区人口为,xc1,(1,0.06) xc0,0.02xs0,,郊区人口,xs1,0.06xc0,(1,0.02)xs0,,,34,问题的矩阵描述,用矩阵乘法来描述,可写成:,从初始到,k,年,此关系保持不变,因此上述算式可扩展为,,故可用程序,ag981n,进行计算:,A,0.94,0.02;0.06,0.98, x0,0.3;0.7,x1,A*x0, x10,A10*x0, x30,A30*x0,x50,A50*x0,得到:,35,本题特征值和特征向量的意义,无限增加时间,k,,市区和郊区人口之比将趋向一组常数,0.25/0.75,。为了弄清为什么这个过程趋向于一个稳态值,我们改变一下坐标系统。在这个坐标系统中可以更清楚地看到乘以矩阵,A,的效果,先求,A,的特征值和特征向量,得到,令它是特征向量的整数化,得到,36,6,直线和平面的快速绘制程序,平面曲线的快速绘制程序,ezplot( ,a,b),引号中函数可以只有一个自变量,代表显函数,ezplot(f(x), a,b),系统将在,a x b,的范围内画出,f = f(x),引号中的函数若有两个自变量,那就代表隐函数,其典型格式为,ezplot(f(x,y), a,b),系统将在,a x b,的范围内画出,f(x,y)=0,。,a,b,的默认值为,-2,2,37,曲线快速绘制举例,ezplot(x1+0.2*x23+1),画出 在,x,1,=-2,-2,的曲线,画多条曲线可按下列方法编程,s1=x1+0.2*x23+1%,方程,1,s2=3*x1+2*x2+3 %,方程,2,ezplot(s1),hold on%,画方程,1,保持,ezplot(s2),grid on%,画方程,2,加网格,x1,x2=solve(s1,s2)%,解联立方程,1,2,38,解的结果,39,解的说明,在线性代数中,遇到的都是一次函数,所以不会出现曲线。我们故意用一个三次曲线来说明ezplot的用法,是为了使读者知道,这个命令不限于画直线。,MATLAB用solve命令解题是采用了符号运算工具葙,它的数字精度是32位十进制,而不是一般数值计算时的16位十进制。尽管在本题中有两有效数字就够了,40,平面的快速绘制命令,ezmesh,ezmesh (f(x,y),a,b,c,d)可以绘制很多函数的曲面。,其第一输入变元可以直接输入用MATLAB语句写出函数的形式,引号中的函数只能是显函数z=f(x,y)中的f(x,y)。它应该有两个自变量,注意要用单引号括起来。,第二输入变元为自变量的取值范围,默认情况下其x,y的取值范围都是-2,2。,41,用,ezmesh,快速绘制平面举例,可以用以下的程序ag501在一张图内画两个平面,clear, clf,ezmesh(3*x1+2*x2+3),hold on,ezmesh(x1-2*x2+1),42,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 大学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!