数学建模matlab课件9、10、矩阵

上传人:wuli****0220 文档编号:245200976 上传时间:2024-10-07 格式:PPT 页数:37 大小:290.11KB
返回 下载 相关 举报
数学建模matlab课件9、10、矩阵_第1页
第1页 / 共37页
数学建模matlab课件9、10、矩阵_第2页
第2页 / 共37页
数学建模matlab课件9、10、矩阵_第3页
第3页 / 共37页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,*,矩阵及其运算,0、一般矩阵的输入,直接输入需遵循以下,基本规则,:,整个矩阵应以“”为首尾,即整个输入矩阵必须包含在方括号中;,矩阵中,行与行之间必须用分号,“;”,或,Enter,键(按 Enter 键)符分隔;,每行中的元素用逗号,“,”,或,空格,分隔;,A=1,2,3,4;5,6,7,8;9,10,11,12;13,14,15,16,A=1 2 3 4,5 6 7 8,9 10 11 12,13 14 15 16,一、特殊矩阵的实现,1.,零矩阵:,所有元素值为零的矩阵称为零矩阵。零矩阵可以用zeros函数实现。zeros是MATLAB内部函数,使用格式如下:,zeros(m):产生m,m阶零矩阵;,zeros(m,n):产生m,n阶零矩阵,当m=n时等同于zeros(m);,zeros(size(A):产生与矩阵A同样大小的零矩阵。,一、特殊矩阵的实现,常见的特殊矩阵有零矩阵、幺矩阵、单位矩阵、三角形矩阵等,这类特殊矩阵在线性代数中具有通用性;还有一类特殊矩阵在专门学科中有用,如有名的希尔伯特(Hilbert)矩阵、范德蒙(Vandermonde)矩阵等。,2.幺矩阵:,所有元素值为1的矩阵称为幺矩阵。幺矩阵可以用ones函数实现。它的调用格式与zeros函数一样。,【,例1,】试用ones分别建立3,2阶幺矩阵、和与前例矩阵A同样大小的幺矩阵。,用ones(3,2)建立一个3,2阶幺阵:,ones(3,2),%一个3,2阶幺阵,ans=1 1,1 1,1 1,一、特殊矩阵的实现,3.单位矩阵:,主对角线的元素值为1、其余元素值为0的矩阵称为单位矩阵。它可以用MATLAB内部函数eye建立,使用格式与zeros相同。,4.数量矩阵:,主对角线的元素值为一常数d、其余元素值为0的矩阵称为数量矩阵。显然,当d=1时,即为单位矩阵,故数量矩阵可以用eye(m),*,d或eye(m,n),*,d建立。,一、特殊矩阵的实现,5.对角阵:,对角线的元素值为常数、其余元素值为0的矩阵称为对角阵。我们可以通过MATLAB内部函数diag,利用一个向量构成对角阵;或从矩阵中提取某对角线构成一个向量。使用,格式为diag(V)和diag(V,k)两种。,6.,用一个向量V构成一个对角阵,设V为具有m个元素的向量,diag(V)将产生一个m,m阶对角阵,其主对角线的元素值即为向量的元素值;diag(V,k)将产生一个n,n(n=m+|k|,k为一整数)阶对角阵,其第k条对角线的元素值即为向量的元素值。注意:当k0,则该对角线位于主对角线的上方第k条;当k0,该对角线位于主对角线的下方第|k|条;当k=0,则等同于diag(V)。用diag建立的对角阵必是方阵。,一、特殊矩阵的实现,【,例2,】已知向量v,试建立以向量v作为主对角线的对角阵A;建立分别以向量v作为主对角线两侧的对角线的对角阵B和C。,MATLAB程序如下:,v=1;2;3;%建立一个已知的向量A,A=diag(v),A=1 0 0,0 2 0,0 0 3,B=diag(v,1),B=0 1 0 0,0 0 2 0,0 0 0 3,0 0 0 0,C=diag(v,-1),C=0 0 0 0,1 0 0 0,0 2 0 0,0 0 3 0,%按各种对角线情况构成相应的对角阵A、B和C,一、特殊矩阵的实现,7.,从矩阵中提取某对角线,我们也可以用diag从矩阵中提取某对角线构成一个向量。设A为m,n阶矩阵,diag(A)将从矩阵A中提取其主对角线产生一个具有min(m,n)个元素的向量。diag(A,k)的功能是:,当k0,则将从矩阵A中提取位于主对角线的上方第k条对角线构成一个具有n,-,k个元素的向量;当k0,则将从矩阵A中提取位于主对角线的下方第|k|条对角线构成一个具有m+k个元素的向量;当k=0,则等同于diag(A)。,一、特殊矩阵的实现,【,例3,】已知矩阵A,试从矩阵A分别提取主对角线及它两侧的对角线构成向量B、C和D。,MATLAB程序如下:,A=1 2 3;4 5 6;%建立一个已知的2,3阶矩阵A,%按各种对角线情况构成向量B、C和D,B=diag(A),B=1,5,C=diag(A,1),C=2,6,D=diag(A,-1),D=4,一、特殊矩阵的实现,8.,上三角阵:使用格式为triu(A)、triu(A,k),设A为m,n阶矩阵,triu(A)将从矩阵A中提取主对角线之上的上三角部分构成一个m,n阶上三角阵;triu(A,k)将从矩阵A中提取主对角线第|k|条对角线之上的上三角部分构成一个m,n阶上三角阵。注意:这里的k与diag(A,k)的用法类似,当k0,则该对角线位于主对角线的上方第k条;当k0,该对角线位于主对角线的下方第|k|条;当k=0,则等同于triu(A),一、特殊矩阵的实现,【,例4,】试分别用triu(A)、triu(A,1)和、triu(A,-,1)从矩阵A提取相应的上三角部分构成上三角阵B、C和D。,MATLAB程序如下:,A=1 2 3;4 5 6;7 8 9;9 8 7;%一个已知的4,3阶矩阵A,%构成各种情况的上三角阵B、C和D,B=triu(A),B=1 2 3,0 5 6,0 0 9,0 0 0,C=triu(A,1),D=triu(A,-1),一、特殊矩阵的实现,9.,下三角阵:使用格式为tril(A)、tril(A,k),tril的功能是从矩阵A中提取下三角部分构成下三角阵。用法与triu相同。,10.空矩阵,在MATLAB里,把行数、列数为零的矩阵定义为空矩阵。空矩阵在数学意义上讲是空的,但在MATLAB里确是很有用的。例如,A=0.1 0.2 0.3;0.4 0.5 0.6;,B=find(A1.0),B=,这里 是空矩阵的符号,B=find(A1.0)表示列出矩阵A中值大于1.0的元素的序号。当不能满足括号中的条件时,返回空矩阵。另外,也可以将空矩阵赋给一个变量,如:,B=,B=,一、特殊矩阵的实现,11、矩阵元素的修改,【,例5,】,A=1,2,3,4;5,6,7,8;9,10,11,12;13,14,15,16,A=,1 2 3 4,5 6 7 8,9 10 11 12,13 14 15 16,A(1,1),ans=,1,A(2,3),ans=,7,A(1,1)=0;A(2,2)=A(1,2)+A(2,1);A(4,4)=cos(0);,A,A=,0 2 3 4,5 7 7 8,9 10 11 12,13 14 15 1,1、矩阵加、减(,)运算,规则:,相加、减的两矩阵必须有相同的行和列两矩阵对应元素相加减。,允许参与运算的两矩阵之一是标量。标量与矩阵的所有元素分别进行加减操作。,二、矩阵的四则运算,2.,矩阵乘(,),运算,规则:,A矩阵的列数必须等于B矩阵的行数,标量可与任何矩阵相乘。,a=1 2 3;4 5 6;7 8 0;b=1;2;3;c=a*b,c=14,32,23,d=-1;0;2;f=pi*d,f=-3.1416,0,6.2832,a p a 自乘p次幂,方阵,1的整数,3.矩阵乘方 an,ap,pa,对于p的其它值,计算将涉及特征值,和特征向量,如果p是矩阵,a是标量,ap使用特征值和特征向量自乘到p次,幂;如a,p都是矩阵,ap则无意义。,a=1,2,3;4,5,6;7,8,9;a2,ans=30 36 42,66 81 96,102 126 150,当一个方阵有复数特征值或负实特征值时,非整数幂是复数阵。,a0.5,ans=,0.4498+0.7623i 0.5526+0.2068i 0.6555-0.3487i,1.0185+0.0842i 1.2515+0.0228i 1.4844-0.0385i,1.5873-0.5940i 1.9503-0.1611i 2.3134+0.2717i,4、矩阵求逆,矩阵求逆,若方阵A,B满足等式,A,*,B,=,B*A,=,I,(,I,为单位矩阵),则称A为B的逆矩阵,或称B为A的逆矩阵。这时A,B都称为可逆矩阵(或非奇异矩阵、或满秩矩阵),否则称为不可逆矩阵(或奇异矩阵、或降秩矩阵)。,【,例6,】试用inv函数求方阵A的逆阵A,-1,赋值给B,且验证A与A,-1,是互逆的。,A=1-1 1;5-4 3;2 1 1;,B=inv(A),B=,-1.4000 0.4000 0.2000,0.2000 -0.2000 0.4000,2.6000 -0.6000 0.2000,A*B,ans=,1.0000 0.0000 0.0000,0.0000 1.0000 0.0000,0.0000 0.0000 1.0000,B*A,ans=,1.0000 0.0000 0.0000,0.0000 1.0000 0.0000,0.0000 0.0000 1.0000,三、矩阵的特征值 与特征向量,对于N,N阶方阵A,所谓A的特征值问题是:求数,和N维非零向量x(通常为复数),使之满足下式:,A,.,x,=,.,x,则称,为矩阵A的一个特征值(特征根),而非零向量x为矩阵A的特征值,所对应的特征向量。,对一般的N,N阶方阵A,其特征值通常为复数,若A为实对称矩阵,则A的特征值为实数。,MATLAB提供的内部函数eig可以用来计算特征值与特征向量。eig函数的使用格式有五种,其中常见的有E=eig(A)、V,D=eig(A)和V,D=eig(A,nobalance)三种,另外两种格式用来计算矩阵的广义特征值与特征向量:E=eig(A,B)和V,D=eig(A,B)。,(1)E=eig(A):由eig(A)返回方阵A的N个特征值,构成向量E;,(2)V,D=eig(A):由eig(A)返回方阵A的N个特征值,构成N,N阶对角阵D,其对角线上的N个元素即为相应的特征值,同时将返回相应的特征向量赋予N,N阶方阵V的对应列,且A、V、D满足,A,V=V,D,;,(3)V,D=eig(A,nobalance):本格式的功能与格式(2)一样,只是格式(2)是先对A作相似变换(balance),然后再求其特征值与相应的特征向量;而本格式则事先不作相似变换;,(4)E=eig(A,B):由eig(A,B)返回N,N阶方阵A和B的N个广义特征值,构成向量E。,(5)V,D=eig(A,B):由eig(A,B)返回方阵A和B的N个广义特征值,构成N,N阶对角阵,D,,其对角线上的N个元素即为相应的广义特征值,同时将返回相应的特征向量构成N,N阶满秩矩阵,且,满足,A,V=B,V,D,。,【,例7,】试用格式(1)求下列对称矩阵A的特征值;用格式(2)求A的特征值和相应的特征向量,且验证之。,A=,1.0000 1.0000 0.5000,1.0000 1.0000 0.2500,0.5000 0.2500 2.0000;,执行eig(A)将直接获得对称矩阵A的三个实特征值:,eig(A),ans=-0.0166,1.4801,2.5365,而下列命令则将其三个实特征值作为向量赋予变量E:,E=eig(A),E=-0.0166,1.4801,2.5365,V,D=eig(A),V=,0.7212 0.4443 0.5315,-0.6863 0.5621 0.4615,-0.0937 -0.6976 0.7103,D=,-0.0166 0 0,0 1.4801 0,0 0 2.5365,四、行列式的值,MATLAB提供的内部函数det用来计算矩阵的行列式的值。设矩阵A为一方阵(必须是方阵),求矩阵A的行列式值的格式为:det(A)。注意:本函数同样能计算通过构造出的稀疏矩阵的行列式的值。关于如何构造稀疏矩阵,将在本章最后一节介绍。,【,例6,】利用随机函数产生一个三阶方阵A,然后计算方阵之行列式的值。,A=rand(3),A=,0.9501 0.4860 0.4565,0.2311 0.8913 0.01
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


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

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


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