資源描述:
《matlab數(shù)值計(jì)算與符號(hào)計(jì)算》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、第4章MATLAB數(shù)值計(jì)算與符號(hào)計(jì)算4.1曲線擬合與插值運(yùn)算4.2數(shù)值微積分4.3線性方程組求解4.4常微分方程的數(shù)值求解4.5MATLAB符號(hào)計(jì)算4.6級(jí)數(shù)4.7實(shí)驗(yàn)五數(shù)值工具箱與符號(hào)工具箱的應(yīng)用4.1曲線擬合與插值運(yùn)算1.多項(xiàng)式的建立與表示方法在MATLAB中,n次多項(xiàng)式用一個(gè)長(zhǎng)度為n+1的行向量表示,其元素為多項(xiàng)式的系數(shù),按降冪排列,缺少的冪次項(xiàng)系數(shù)為0。例如,多項(xiàng)式在MATLAB中用向量p=[1-12025116]表示。2.多項(xiàng)式的運(yùn)算(1)多項(xiàng)式的加減運(yùn)算多項(xiàng)式的加減運(yùn)算就是其所對(duì)應(yīng)的系數(shù)向量的加減運(yùn)算。相加減的多項(xiàng)式必須表示成相同的次數(shù),如果次數(shù)不同,應(yīng)該把低
2、次的多項(xiàng)式不足的高次項(xiàng)用0補(bǔ)足。(2)多項(xiàng)式的乘除運(yùn)算命令w=conv(u,v)表示多項(xiàng)式u和v相乘,例如在MATLAB中輸入u=[1234],v=[102030],c=conv(u,v)返回c=1040100160170120conv指令可以嵌套使用,如conv(conv(a,b),c)。命令[q,r]=deconv(v,u)表示u整除v。向量q表示商,向量r表示余,即有v=conv(u,q)+r。(3)多項(xiàng)式的導(dǎo)函數(shù)對(duì)多項(xiàng)式求導(dǎo)數(shù)的函數(shù)有k=polyder(p),返回多項(xiàng)式p的導(dǎo)函數(shù);k=polyder(a,b),返回多項(xiàng)式a與b的乘積的導(dǎo)函數(shù);[q,d]=polyd
3、er(b,a),返回多項(xiàng)式b整除a的導(dǎo)函數(shù),其分子多項(xiàng)式返回給q,分母多項(xiàng)式返回給d。(4)多項(xiàng)式求值MATLAB中提供了兩種求多項(xiàng)式值的函數(shù)。y=polyval(p,x),代數(shù)多項(xiàng)式函數(shù)求值,若x為一數(shù)值,則求多項(xiàng)式在該點(diǎn)的值;若x為向量或矩陣,則對(duì)向量或矩陣中的每個(gè)元素求其多項(xiàng)式的值。Y=polyvalm(p,x),矩陣多項(xiàng)式求值,要求x為方陣。設(shè)A為方陣,p代表多項(xiàng)式x3-5x2+8,那么polyvalm(p,A)的含義是A*A*A-5*A*A+8*eye(size(A))而polyval(p,A)的含義是A.*A.*A-5*A.*A+8*ones(size(A))
4、例4.1多項(xiàng)式P=x4-29x3+72x2-29x+1,以4階pascal矩陣為自變量分別用polyval和polyvalm計(jì)算該多項(xiàng)式的值。在命令窗口輸入如下命令:p=[1-2972-291];X=pascal(4);A=polyval(p,X),B=polyvalm(p,X)返回A=161616161615-140-56316-140-2549-1208916-563-12089-43779B=0000000000000000(5)多項(xiàng)式的根使用函數(shù)roots可以求出多項(xiàng)式等于0的根,根用列向量表示,其調(diào)用格式為r=roots(p)若已知多項(xiàng)式等于0的根,函數(shù)poly
5、可以求出相應(yīng)多項(xiàng)式,調(diào)用格式為p=poly(r)例4.2求多項(xiàng)式x4+8x3-10的根。命令如下:A=[1,8,0,0,-10];x=roots(A)返回x=-8.01941.0344-0.5075+0.9736i-0.5075-0.9736i再輸入p=poly(x)返回p=1.00008.0000-0.0000-0.0000-10.00003.曲線擬合在MATLAB中用polyfit函數(shù)來(lái)求得最小二乘擬合多項(xiàng)式的系數(shù),再用polyval函數(shù)按所得的多項(xiàng)式計(jì)算所給出的點(diǎn)上的函數(shù)近似值。polyfit函數(shù)的調(diào)用格式為[P,S]=polyfit(X,Y,m)函數(shù)根據(jù)采樣點(diǎn)X和
6、采樣點(diǎn)函數(shù)值Y,產(chǎn)生一個(gè)m次多項(xiàng)式P及其在采樣點(diǎn)的誤差向量S。其中X,Y是兩個(gè)等長(zhǎng)的向量,P是一個(gè)長(zhǎng)度為m+1的向量,P的元素為多項(xiàng)式系數(shù)。例4.3用一個(gè)6次多項(xiàng)式在區(qū)間[0,2?]內(nèi)逼近函數(shù)MATLAB程序如下:x=linspace(0,2*pi,50);y=sin(x);P=polyfit(x,y,6)%得到6次多項(xiàng)式的系數(shù)和誤差程序運(yùn)行結(jié)果如下:P=0.0000-0.00560.0874-0.39460.26850.87970.0102繪出sinx和多項(xiàng)式P(x)在給定區(qū)間的函數(shù)曲線,如圖4.1所示。圖4.1用6次多項(xiàng)式對(duì)正弦函數(shù)進(jìn)行擬合4.?dāng)?shù)據(jù)插值(1)一維數(shù)據(jù)插
7、值在MATLAB中,實(shí)現(xiàn)一維數(shù)據(jù)插值的函數(shù)是interp1,被插值函數(shù)是一個(gè)單變量函數(shù),其調(diào)用格式為yi=interp1(x,Y,xi,method)函數(shù)根據(jù)x,y的值,計(jì)算函數(shù)在xi處的值。x,y是兩個(gè)等長(zhǎng)的已知向量,分別描述采樣點(diǎn)和樣本值,xi是一個(gè)向量或標(biāo)量,描述欲插值的點(diǎn),yi是一個(gè)與xi等長(zhǎng)的插值結(jié)果。method是插值方法,允許的取值有'linear'、'nearest'、'cubic'、'spline',分別表示線性插值、最近點(diǎn)插值、3次多項(xiàng)式插值、3次樣條插值。注意:xi的取值范圍不能超出x的給定范圍,否則,會(huì)