资源描述:
《matlab矩阵代数.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、MATLAB数学实验A矩阵代数矩阵计算线性方程组建模举例:投入产出分析一矩阵计算创建矩阵的方法直接输入法规则:矩阵元素必须用[]括住矩阵元素必须用逗号或空格分隔在[]内矩阵的行与行之间必须用分号分隔矩阵元素可以是任何matlab表达式,可以是实数,也可以是复数,复数可用特殊函数i,j输入,a=[123;456]x=[2pi/2;sqrt(3)3+5i]7/16/20212第三章矩阵代数注意:只要是赋过值的变量,不管是否在屏幕上显示过,都存储在工作空间中,以后可随时显示或调用。变量名尽可能不要重复,否则会覆盖。当一个指令或矩阵太长时,可用三个以上的•续行逗号和分
2、号的作用:逗号和分号可作为指令间的分隔符,matlab允许多条语句在同一行出现。分号如果出现在指令后,屏幕上将不显示结果。7/16/20213第三章矩阵代数冒号的作用用于生成等间隔的向量,默认间隔为1。用于选出矩阵指定行、列及元素。循环语句用matlab函数创建矩阵空阵[]——matlab允许输入空阵,当一项操作无结果时,返回空阵。rand(m,n)——返回m×n随机矩阵eye(n)——返回n阶单位矩阵zeros(m,n)——返回m×n全部元素都为0的矩阵ones(m,n)——返回m×n全部元素都为1的矩阵7/16/20214第三章矩阵代数还有伴随矩阵、稀
3、疏矩阵、魔方矩阵(magic)、对角矩阵diag、范德蒙(vandermode)等矩阵的创建。注意:matlab严格区分大小写字母,因此a与A是两个不同的变量。matlab函数名必须小写。7/16/20215第三章矩阵代数矩阵的修改直接修改可用键找到所要修改的矩阵,用键移动到要修改的矩阵元素上即可修改。指令修改可以用A(,)=来修改。7/16/20216第三章矩阵代数例如a=[120;305;789]a=120305789a(3,3)=0a=120305780可用find函数找出矩阵元素编址修改。>>I=find(a==0);a(I)=100;a=12
4、10031005789注:I=[5;9]7/16/20217第三章矩阵代数2.矩阵运算(1)矩阵加、减(+,-)运算规则:相加、减的两矩阵必须有相同的行和列两矩阵对应元素相加减。允许参与运算的两矩阵之一是标量。标量与矩阵的所有元素分别进行加减操作。7/16/20218第三章矩阵代数(2)矩阵乘()运算规则:A矩阵的列数必须等于B矩阵的行数标量可与任何矩阵相乘。a=[123;456;780];b=[1;2;3];c=a*bc=143223d=[-1;0;2];f=pi*df=-3.141606.28327/16/20219第三章矩阵代数(3)矩阵乘方——a^n,
5、a^p,p^aa^p——a自乘p次幂方阵>1的整数对于p的其它值,计算将涉及特征值和特征向量,如果p是矩阵,a是标量a^p使用特征值和特征向量自乘到p次幂;如a,p都是矩阵,a^p则无意义。7/16/202110第三章矩阵代数a=[1,2,3;4,5,6;7,8,9];a^2ans=303642668196102126150※当一个方阵有复数特征值或负实特征值时,非整数幂是复数阵。a^0.5ans=0.4498+0.7623i0.5526+0.2068i0.6555-0.3487i1.0185+0.0842i1.2515+0.0228i1.4844-0.0385i1
6、.5873-0.5940i1.9503-0.1611i2.3134+0.2717i7/16/202111第三章矩阵代数(4)矩阵的其它运算inv(A)——求矩阵A逆det(A)——求A行列式的值eig(A)——返回矩阵A的特征值向量或特征向量列矩阵和特征值对角矩阵diag(A)——返回矩阵A的对角元素向量diag(x)——返回以向量x为对角的对角矩阵’——矩阵转置sqrt(A)——返回矩阵A方根null(A)——返回矩阵A行向量正交补,即Ax=0的基础解系7/16/202112第三章矩阵代数相似对角化如果n阶方阵A有n个线性无关的特征向量,则必存在可逆矩阵P,使得P
7、-1AP=,其中是A的特征值构成的对角矩阵。P的列向量是对应的n个正交特征向量。([P,]=eig(A))使用MATLAB函数eig求得的每个特征向量都是单位向量,并且属于同一特征值的线性无关特征向量已正交化。7/16/202113第三章矩阵代数例3用相似变换矩阵P将A相似对角化,并求,这里1.00000.44720000001.0000q>>A=[100;1/41/21/4;001];[V,D]=eig(A);则A^n为inv(V)*D^n*V,算得为q>>A=[100;1/41/21/4;001];[V,D]=eig(A);则A^n为inv(V)*D^