欢迎来到天天文库
浏览记录
ID:48038096
大小:350.00 KB
页数:33页
时间:2020-01-14
《MATLAB仿真技术.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第三章Matlab在科学运算中的应用系统仿真本身涉及了大量的数学运算,计算机有巨大的求解数学运算的潜力,其求解问题的能力主要取决于算法与算法的代码实现。Matlab是一种高效的、高精度的科学运算语言,用它可以轻易地求解看似复杂的数学问题,且较容易上手。3.1解析解与数值解现代科学与工程的进展离不开数学。数学家们感兴趣的问题和其他科学家、工程技术人员所关注的问题是不同的。数学家往往对数学问题的解析解,或称闭式解(closed-formsolution)和解的存在性严格证明感兴趣,而工程技术人员一般对如何求出数学问题的解更关心,也就是
2、,能用某种方法获得问题的解则是工程技术人员更关心的问题。而获得这样解的最直接方法就是通过数值解法技术。在实际应用中,至少有两种情况需要数值解法:解析解不存在时解析解存在但不实用时3.2数值线性代数问题及求解3.2.1矩阵的特征参数运算1.矩阵的行列式(determinant)Matlab提供了内建函数det(),得用它可以直接求出矩阵的行列式。>>A=[123;456;780];det(A)ans=272.矩阵的迹(trace)假设一个方阵A={aij},则矩阵A的迹定义为该矩阵对角线上各个元素之和。由代数理论可知,矩阵的迹和矩阵
3、的特征值之和是相同的,矩阵的迹可由trace()函数求出。3.矩阵的秩(rank)若矩阵所有的列向量中共有rc个线性无关,则称矩阵的列秩为rc,如果rc=m,则称A为列满秩矩阵。相应地,若矩阵所有的行向量中共有rr个线性无关,则称矩阵的行秩为rr,如果rr=n,则称A为行满秩矩阵。可以证明,矩阵的行秩和列秩是相等的,故称之为矩阵的秩,记作:rank(A)=rc=rr矩阵的秩也表示矩阵中行列式不等于0的子式的最大阶次。所谓子式就是从原矩阵中任取k行k列所构成的子矩阵。Matlab提供了一个内建函数rank(A,ε)来用数值方法求取一
4、个已知矩阵A的数值秩,其中ε为机器精度。如无特殊说明可用rank(A)求出A矩阵的秩。4.矩阵的特征值和特征向量对一个矩阵A来说,如果存在一个非零的向量x,且有一个标量λ满足Ax=λx则称λ为A矩阵的一个特征值,而x为对应于特征值λ的特征向量。矩阵的特征值与特征向量由Matlab提供的函数eig()可以容易的求出,调用格式为[V,D]=eig(A),其中A为要处理的矩阵,D为一个对角矩阵,其对角线上的元素为矩阵A的特征值,而每个特征值对应的V矩阵的列为该特征值的特征向量,该矩阵是一个满秩矩阵。Matlab的矩阵特征值的结果满足AV
5、=VD,且每个特征向量元素的平方和均为1。如果调用该函数时只给出一个返回变量,则将只返回矩阵A的特征值。即使A为复数矩阵也可由该函数求出其特征值和特征向量。>>A=[123;456;780];[v,d]=eig(A)v=-0.29982462710385-0.74706733429712-0.27625410987281-0.707471780578710.65820191579521-0.38842553979250-0.63999130671192-0.093062538487330.87909570970133d=12.12
6、289378463239000-0.38838384240732000-5.73450994222508>>eig(A)ans=12.12289378463239-0.38838384240732-5.734509942225085.矩阵的特征多项式、特征方程和特征根构造一个矩阵sI-A,并求出该矩阵的行列式,则可得出一个多项式C(s)C(s)=det(sI-A)=sn+c1sn-1+…+cn-1s+cn这样的多项式C(s)称为矩阵A的特征多项式,其中系数ci,i=1,2,…,n称为矩阵的特征多项式系数。Matlab提供了求取特征
7、多项式的函数C=poly(A),而返回的C为一个行向量,其各个分量为矩阵A的降幂排列的特征多项式系数。该函数的另外一个调用格式是:如果给定A为向量,则假定该向量是一个矩阵的特征根,由此求出该矩阵的特征多项式系数。令特征多项式等于0所构成的方程称为该矩阵的特征方程,而特征方程的根称为该矩阵的特征根。可以调用Matlab函数V=roots(C)而直接获得。其中V为特征方程式的解,即原矩阵的特征根。>>A=[123;456;780];B=poly(A)B=1.0000-6.0000-72.0000-27.0000>>roots(B)an
8、s=12.1229-5.7345-0.38843.2.2.多项式及多项式矩阵的求值1.多项式的加减乘除一个n次的多项式可以表示成:p(x)=anxn+an-1xn-1+…+a1x+a0因此在Matlab中,可以用一个长度为n+1的行向量来表示p(x
此文档下载收益归作者所有