matlab 6数值计算.ppt
《matlab 6数值计算.ppt》由会员分享,可在线阅读,更多相关《matlab 6数值计算.ppt(53页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第六章 MATLAB的数值计算 matlab 具有出色的数值计算能力,占据世界上数值计算软件的主导地位 一、代数方程组求解matlab中有两种除运算左除和右除。对于方程ax=b,a 为amn矩阵,有三种情况:当n=m时,此方程成为“恰定”方程 当nm时,此方程成为“欠定”方程 matlab定义的除运算可以很方便地解上述三种方程1.恰定方程组的解方程ax=b(a为非奇异)x=a-1 b 矩阵逆两种解:x=inv(a)b 采用求逆运算解方程 x=ab 采用左除运算解方程 方程ax=ba=1 2;2 3;b=8;13;x=inv(a)*b x=ab x=x=2.00 2.00 3.00 3.00 =
2、a x =b例:x1+2x2=8 2x1+3x2=132.超定方程组的解方程 ax=b,mn时此时不存在唯一解。方程解(a a)x=a b x=(a a)-1 a b 求逆法 x=ab matlab用最小二乘法找一 个准确地基本解。例:x1+2x2=1 2x1+3x2=2 3x1+4x2=3a=1 2;2 3;3 4;b=1;2;3;解1 x=ab 解2 x=inv(aa)a b x=x=1.00 1.00 0 0.00 =a x =b3.欠定方程组的解 当方程数少于未知量个数时,即不定情况,有无穷多个解存在。matlab可求出两个解:一个是用除法求的解,是具有最多零元素的解一个是具有最小长度
3、或范数的解,这个解是基于伪逆pinv求得的。x1+2x2+3x3=1 2x1+3x2+4x3=2a=1 2 3;2 3 4;b=1;2;x=ab x=pinv(a)b x=x=1.00 0.83 0 0.33 0 -0.17=a x =b借助matlab提供的函数,处理多项式是一件非常简单的事情,很容易对多项式进行积分、微分以及求根的操作。一元多项式在代数中占有非常重要的地位。在实际应用中如对实验数据的插值、微商和曲线拟合等,都要大量用到多项式;在矩阵分析时,也要用到一元多项式的概念。多项式函数是形式最简单的函数,也是最容易计算的函数,从理论上讲,它可以表示绝大多数复杂函数。在许多计算机的计算
4、和编程中,很多函数值如sin(x),cos(x)等的计算都是先将函数进行Tailor展开为多项式进行逼近计算的,并且都能达到很高的精度。二、二、多项式运算及其求根多项式运算及其求根鉴于MATLAB无零下标,故把多项式的一般形式表达为:在MATLAB中可以用长度n+1的行向量表示为:1.多项式求根多项式求根命令格式:x=roots(A)。这里A为多项式的系数A(1),A(2),A(N),A(N+1);解得的根赋值给数组X,即X(1),X(2),X(N)。【例例6 6】试用ROOTS函数求多项式x4+8x3-10的根这是一个4次多项式,它的五个系数依次为:1,8,0,0,-10。下面先产生多项式系
5、数的向量A,然后求根:A=1 8 0 0-10A=1 8 0 0 -10 x=roots(A)x=-8.0194 -0.5075+0.9736i -0.5075-0.9736i 1.0344 2.多项式的建立多项式的建立若已知多项式的全部根,则可以用POLY函数建立起该多项式;也可以用POLY函数求矩阵的特征多项式。POLY函数是一个MATLAB程序,调用它的命令格式是:A=poly(x)若x为具有N个元素的向量,则poly(x)建立以x为其根的多项式,且将该多项式的系数赋值给向量A。在此种情况下,POLY与ROOTS互为逆函数;若x为NN的矩阵x,则poly(x)返回一个向量赋值给A,该向量
6、的元素为矩阵x的特征多项式之系数:A(1),A(2),A(N),A(N+1)。【例例7 7】试用POLY函数对例7.8所求得的根,建立相应的多项式。x=-8.0194 -0.5075+0.9736i -0.5075-0.9736i 1.0344;z=poly(x)z=1.0000 8.0000 0.0000 0.0000 -9.99963.求多项式的值求多项式的值POLYVAL函数用来求代数多项式的值,调用的命令格式为:Y=polyval(A,x)本命令将POLYVAL函数返回的多项式的值赋值给Y。若x为一数值,则Y也为一数值;若x为向量或矩阵,则对向量或矩阵中的每个元素求其多项式的值。【例例
7、8 8】以4次多项式、分别取x=1.2和下面的矩阵的23个元素为自变量计算该多项式的值。A=1 8 0 0-10;%例7.8的4次多项式系数x=1.2;%取自变量为一数值y1=polyval(A,x)y1=-5.8976x=-1 1.2-1.4;2-1.8 1.6%给出一个矩阵xy1=polyval(A,x)y1=-17.0000 5.8976 -28.1104 70.0000 -46.1584 29.32164.多项式的四则运算多项式的四则运算(1)多项式加、减多项式加、减对于次数相同的若干个多项式,可直接对多项式系数向量进行加、减的运算。如果多项式的次数不同,则应该把低次的多项式系数不足的
8、高次项用零补足,使同式中的各多项式具有相同的次数。(2)多项式乘法多项式乘法若A、B是由多项式系数组成的向量,则CONV函数将返回这两个多项式的乘积。调用它的命令格式为:C=conv(A,B)命令的结果C为一个向量,由它构成一个多项式。求4次多项式与多项式2x2-x+3的乘积。A=1 8 0 0-10;B=2-1 3B=2 -1 3C=conv(A,B)C=2 15 -5 24 -20 10 -30本例的运行结果是求得一个6次多项式2x6+15x5-5x4+24x3-20 x2+10 x-30(3)多项式除法多项式除法当A、B是由多项式系数组成的向量时,DECONV函数用来对两个多项式作除法运
9、算。调用的命令格式为:Q,r=deconv(A,B)本命令的结果:多项式A除以多项式B获商多项式赋予Q(也为多项式系数向量);获余项多项式赋予r(其系数向量的长度与被除多项式相同,通常高次项的系数为0)。DECONV是 CONV的 逆 函 数,即 有A=conv(B,Q)+r。【例例1010】试用4次多项式与多项式2x2-x+3相除。A=1 8 0 0-10;B=2-1 3;P,r=deconv(A,B)P=0.5000 4.2500 1.3750r=0 0 0 -11.3750 -14.1250商多项式P为0.5x2+4.25x+1.375,余项多项式r为-11.375x-14.125。po
10、lyder()多项式微分k=polyder(p)求多项式p的微分多项式k=polyder(a,b)求a x b的微分q,d=polyder(b,a):求有理分式b/a的微分q:分子多项式d:分母多项式(4).多项式微分例:a=1 2 3 4 5;poly2str(a,x)ans=x4+2 x3+3 x2+4 x+5b=polyder(a)b=4 6 6 4poly2str(b,x)ans=4 x3+6 x2+6 x+410、多项式的积分g=1,6,20,48,69,72,44h=polyder(g)q=polyint(h,44)q=polyint(p,k)对多项式p积分,k为积分常数q=pol
11、yint(p)对多项式p积分,积分常数为0也可以用p./(length(p):-1:1),k来完成积分其中k为常数项例:a=1 2 3 4 5;b=polyder(a)b=4 6 6 4c=b./(length(b):-1:1),0c=1 2 3 4 0 三、三、拟合与插值拟合与插值1.多项式拟合:用一个多项式来逼近一组给定的数据。拟合的准则是最小二乘法x0=0:0.1:1;y0=-.447 1.978 3.11 5.25 5.02 4.66 4.01 4.58 3.45 5.35 9.22;p=polyfit(x0,y0,3)p=56.6915 -87.1174 40.0070 -0.904
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- matlab 6数值计算 数值 计算
限制150内