資源描述:
《復(fù)化梯形公式和復(fù)化Simpson公式》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、數(shù)值計(jì)算方法上機(jī)題目3一、計(jì)算定積分的近似值:要求:(1)若用復(fù)化梯形公式和復(fù)化Simpson公式計(jì)算,要求誤差限,分別利用他們的余項(xiàng)估計(jì)對每種算法做出步長的事前估計(jì);(2)分別利用復(fù)化梯形公式和復(fù)化Simpson公式計(jì)算定積分;(3)將計(jì)算結(jié)果與精確解比較,并比較兩種算法的計(jì)算量。1.復(fù)化梯形公式程序:程序1(求f(x)的n階導(dǎo)數(shù):symsxf=x*exp(x)%定義函數(shù)f(x)n=input('輸入所求導(dǎo)數(shù)階數(shù):')f2=diff(f,x,n)%求f(x)的n階導(dǎo)數(shù)結(jié)果1輸入n=2f2=2*exp(x)+x*exp(x)程序2:clcclearsymsx%定義自變量xf=inlin
2、e('x*exp(x)','x')%定義函數(shù)f(x)=x*exp(x),換函數(shù)時(shí)只需換該函數(shù)表達(dá)式即可f2=inline('(2*exp(x)+x*exp(x))','x')%定義f(x)的二階導(dǎo)數(shù),輸入程序1里求出的f2即可。f3='-(2*exp(x)+x*exp(x))'%因fminbnd()函數(shù)求的是表達(dá)式的最小值,且要求表達(dá)式帶引號(hào),故取負(fù)號(hào),以便求最大值e=5*10^(-8)%精度要求值a=1%積分下限b=2%積分上限x1=fminbnd(f3,1,2)%求負(fù)的二階導(dǎo)數(shù)的最小值點(diǎn),也就是求二階導(dǎo)數(shù)的最大值點(diǎn)對應(yīng)的x值forn=2:1000000%求等分?jǐn)?shù)nRn=-(b-a)
3、/12*((b-a)/n)^2*f2(x1)%計(jì)算余項(xiàng)ifabs(Rn)4、n=7019已知值與計(jì)算值的誤差R=2.8300e-0082.Simpson公式程序:程序1:(求f(x)的n階導(dǎo)數(shù)):symsxf=x*exp(x)%定義函數(shù)f(x)n=input('輸入所求導(dǎo)數(shù)階數(shù):')f2=diff(f,x,n)%求f(x)的n階導(dǎo)數(shù)結(jié)果1輸入n=4f2=4*exp(x)+x*exp(x)程序2:clcclearsymsx%定義自變量xf=inline('x*exp(x)','x')%定義函數(shù)f(x)=x*exp(x),換函數(shù)時(shí)只需換該函數(shù)表達(dá)式即可f2=inline('(4*exp(x)+x*exp(x))','x')%定義f(x)的四階導(dǎo)數(shù),輸入程序1里求出
5、的f2即可f3='-(4*exp(x)+x*exp(x))'%因fminbnd()函數(shù)求的是表達(dá)式的最小值,且要求表達(dá)式帶引號(hào),故取負(fù)號(hào),一邊求最大值e=5*10^(-8)%精度要求值a=1%積分下限b=2%積分上限x1=fminbnd(f3,1,2)%求負(fù)的四階導(dǎo)數(shù)的最小值點(diǎn),也就是求四階導(dǎo)數(shù)的最大值點(diǎn)對應(yīng)的x值forn=2:1000000%求等分?jǐn)?shù)nRn=-(b-a)/180*((b-a)/(2*n))^4*f2(x1)%計(jì)算余項(xiàng)ifabs(Rn)6、xk=a+k*hxk1=xk+h/2Sn1=Sn1+f(xk1)Sn2=Sn2+f(xk)endSn=h/6*(f(a)+4*Sn1+2*(Sn2-f(a))+f(b))%因Sn2多加了k=0時(shí)的值,故減去f(a)z=exp(2)R=Sn-z%求已知值與計(jì)算值的差fprintf('用Simpson公式計(jì)算的結(jié)果Sn=')disp(Sn)fprintf('等分?jǐn)?shù)n=')disp(n)fprintf('已知值與計(jì)算值的誤差R=')disp(R)輸出結(jié)果顯示:用Simpson公式計(jì)算的結(jié)果Sn=7.3891等分?jǐn)?shù)n=24已知值與計(jì)算值的誤差R=2.7284e-008用復(fù)化梯形公式計(jì)算的結(jié)果為
7、:7.3891,與精確解的誤差為:2.8300e-008。等分?jǐn)?shù)n=7019用復(fù)化Simpson公式計(jì)算的結(jié)果為:7.3891,與精確解的誤差為:2.7284e-008。等分?jǐn)?shù)n=243、柯斯特公式求積分:程序代碼:(1)function[y,Ck,Ak]=NewtonCotes(fun,a,b,n)ifnargin==1[mm,nn]=size(fun);ifmm>=8error('為了保證NewtonCotes積分的穩(wěn)定性,最多只能有9個(gè)等