實驗七matlab求解級數(shù)有關(guān)計算_第1頁
實驗七matlab求解級數(shù)有關(guān)計算_第2頁
實驗七matlab求解級數(shù)有關(guān)計算_第3頁
實驗七matlab求解級數(shù)有關(guān)計算_第4頁
實驗七matlab求解級數(shù)有關(guān)計算_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、實驗七mat lab求解級數(shù)有關(guān)計算1. 級數(shù)的基本概念常數(shù)項級數(shù):稱用加號將數(shù)列心的項連成的式子6/| +a2+a3+- + an +-8 00為(常數(shù)項)無窮級數(shù),簡記為稱級數(shù)前項構(gòu)成的和S =6 +。2 +3 + + =你A-1wlimS=S工 5c為級數(shù)的部分和。若y,則稱級數(shù)一|收斂,其和為S。Taylor級數(shù):設(shè)函數(shù)/()在包含x的區(qū)域內(nèi)具有各階導(dǎo)數(shù),則稱幕級數(shù))”=/)+ 廣()()+ (4)2 + -+2(1._律 + .缶川2!川為函數(shù)/(X)在尤=的Taylor級數(shù),當(dāng)。=時稱為MaclaurinC麥克勞林)級數(shù)。2. 級數(shù)的MATLAB命令MATLAB中主要用symsum

2、, taylor求級數(shù)的和及進(jìn)行Taylor展開。symsum(s, v, a, b)表達(dá)式s關(guān)于變雖:v從a到b求和 taylor (f, a, n)將函數(shù)f在a點展為n-1階Taylor多項式可以用help symsum, help taylor查閱有關(guān)這些命令的詳細(xì)信息例1先用taylor命令觀測函數(shù),= sinX的Maclaurin展開式的前幾項,例如觀測前6項,相應(yīng)的MATLAB代碼為:clear; syms x;taylor (sin(x), 0, 1)taylor (sin(x), 0, 2)taylor (sin(x), 0, 3)taylor (sin(x), 0, 4)ta

3、ylor (sin(x), 0, 5)taylor (sin(x), 0, 6)結(jié)果為:ans =0ans =xans =xans =x-l/6*x3ans =x-l/6*x3然后在同一坐標(biāo)系里作出函數(shù)? = sinX和它的Taylor展開式的前幾項構(gòu)成的多項式函X3牙 35y = x,y = x-.y = -v- +數(shù)3!3!5! 的圖形,觀測這些多項式函數(shù)的圖形向y = sinx的圖形的逼近的情況。例如,在區(qū)間【,刃上作函數(shù) = sinx與多項式函數(shù)X5牙X5y = x.y = x- 9y = x- + 3! 3!5!圖形的MATLAB代碼為:x=0:0. 01:pi;yl=sin(x)

4、;y2=x; y3二x-x. 3/6; y4二x-x. 3/6+x.5/120;plot (x, yl, x, y2, : , x, y3, : , x, y4,:)結(jié)果如圖3.1,其中實線表示函數(shù) = sinx的圖形。圖3.1) = sinx的泰勒級數(shù)類似地,根據(jù)函數(shù)的Taylor級數(shù)X2 X4X6cosx = 1F+ , x e (一s,+s),2!4!6!x2 疋ex = 1 + x + + + u (s,+s),2!3!34ln(l + x) = x-+ 一 + ,xu (-1,11,234(1 + x)a = 1 + OV+ .v2 +, x e (一1,1) 2!作圖觀測其展開式的

5、前幾項多項式逼近原函數(shù)的情況。例2利用幕級數(shù)訃算指數(shù)函數(shù)。指數(shù)函數(shù)可展開為幕級數(shù)X2 X3X”ex = 1 + x + + + + + ,x w (yo,+r),2!3!n!其通項為xn/prod(l:n),因此用下列循環(huán)相加就可訃算出這個級數(shù)x=input C x=,); n=input C n=,); y=l;玄輸入原始數(shù)據(jù),初始化 y for i=l:n y=y+x*i/prod(l:i); end, vpa(y, 10), %將通項循環(huán)相加,得 y執(zhí)行此程序,分別帶入X二1,2, 4,-4這四個數(shù),取n=10, y的結(jié)果如下2.71828180b7.388994709,54.44310

6、406, 9671957672e-l而用 vpa(exp(l), 10), vpa(exp(2), 10), vpa(exp(4), 10), vpa(exp(-4), 10)命令可得的10位精確有效數(shù)字為2. 71828182&7. 389056099,54. 59815003,照可知,用級數(shù)法計算的有效數(shù)字分別為8, 4, 2, 0位。由此可以看岀,這個程序雖然原理上正確,但不好用。對不同的x,精度差別很大。英 他存在的問題有:這個程序不能用于X的元素群運算:當(dāng)X為負(fù)數(shù)時,它成為交錯級數(shù),收斂很慢;此程序要做2次乘法,n很大時,乘法次數(shù)太多,計算速度很低;對不同的

7、x,要取不同的n 才能達(dá)到精度要求,因此n不應(yīng)由用戶輸入,應(yīng)該由軟件按精度要求來選。正對上面的四個問題,可以采用下而四種方法改進(jìn):(1) 允許數(shù)組輸入,改進(jìn)輸岀顯示x二input (x二);n=input C n=,); y=ones(size (x);%輸入原始數(shù)據(jù),初始化 yfor i=l:ny=y+x. 4/prod(l:i); %循環(huán)相加sl=sprintf (* %13. Of, i); s2=sprintf %15. 8f, y); %將結(jié)果變?yōu)樽址甦isp(sl, s2)%顯示end,執(zhí)行此程序,輸入x二12 4-4, n=10,結(jié)果為-3.0000000012.0000000

8、03.000000005.000000005.0000000022.500000005. 0000000013.00000000-5.6666666732.666666676.3333333323.666666675.0000000042.708333337.0000000034.33333333-3.5333333352.716666677.2666666742.866666672.1555555662.718055567.3555555648.55555556-1.0952381072.718253977.3809523851.806349210.5301587382.718278777.

9、3873015953.4317460392.718281537.3887125254.15414462-0.19223986102.718281807.3889947154.443104060.09671958(2) 可以利用exp(-x)=l/exp(x)來避免交錯級數(shù)的計算:(3) 為了減少乘法次數(shù),設(shè)一個中間變量z,它的初始值為z二ones (size (),把循環(huán) 體中的計算與句改為y=y+z; z=x*z/i;這樣,求得的Z就是z二于是每個循環(huán)只需做一次乘法,計算整個級數(shù)只需n次乘 法。按這種計算,y的初始值改為y二zeros (size (x)(4) 為了按精度選擇循環(huán)次數(shù),不該使

10、用for循環(huán),而用wh訂e語句,它可以設(shè)置循環(huán)的 條件語句,通常可用y+z-ytol, tol是規(guī)左的允許誤差只要相鄰的兩次y值之差大于tol,循環(huán)就繼續(xù)進(jìn)行,直到小于tol為I匕exp(x) = (exp(-)A當(dāng)x較大時,exp(x)仍能很快收斂,還可以利用關(guān)系式k ,令xi=x/k. k通常取大于x而最接近x的2的幕,例如x二100,就取k二12&可以保證xl的絕對值小于1,這 時級數(shù)收斂得很快從練習(xí)中可以看岀,n取10時(即級數(shù)取10項)就能保證7位有效數(shù),而 eXp(xl),28可以化成* =(CXp( X1)2)2 )2,即exp(xl)的7次自乘,總共用17次乘法就 可完成兩(1

11、00) = ( ( 100/128)2)2尸的計算,這既保證了精度,又提高了速度.例3編寫任意函數(shù)展開為各階泰勒級數(shù)的程序,并顯示苴誤差曲線.對于任意函數(shù)y=f(x),其泰勒展開式為/(x) = /() +- “) +(x “)2 + + 11 (x-” + Rn .2!n其中R3 為余項,也就是泰勒展開式的誤差.MATLAB語句為fxs=input (輸入y=f (x)的衣達(dá)式, s);%輸入原始條件,fxs是字符串K=input (輸入泰勒級數(shù)展開式的階K);a=input (展開的位置a=);b=input (展開的區(qū)間半寬度b=,);x=linspace (a-b, a+b);%構(gòu)成自

12、變雖數(shù)組,確定其長度和步長lx=length(x); dx=2*b/(lx-l);y=eval (fxs); %求岀y的準(zhǔn)確值subplot (1, 2,1), plot (x, y,),hold on %y 的準(zhǔn)確值用點線繪出%求出a點的-階導(dǎo)數(shù),注意求導(dǎo)后數(shù)組長度減少1Dy=diff (y)/dx; Dya (1) =Dy (round (lx-1)/2);yt (1, :) =y (round (lx/2) +Dya(l)*(x-a); %求 y 的階泰勒展開,繪圖plot (x, yt (1,:)for k=2:KDy=diff(y, k)/(dxk); Dya(k) =Dy(roun

13、d(lx-k)/2); 滋求 3 點 k 階導(dǎo)數(shù)yt(k, :)=yt(k-l, :) +Dya(k)/prod(1:k)*(x-a). k;弔求 y 的 k 階導(dǎo)數(shù) plot(x,yt(k, :);%繪圖e(k, :)=y-yt(k, :);%求出 yt 的誤差endtitle(fxs,的各階泰初級數(shù)曲線),%注意如何組成標(biāo)注的字符串grid, hold off, subplot (1, 2, 2)for k=l:K plot(x, e(k, :), hold on, end %繪制誤差曲線title(fxs,的各階泰勒級數(shù)誤差曲線),grid, hold off執(zhí)行此程序,輸入fxs二co

14、s(x), K二5, a二0. 5, b二2,所得曲線見圖3. 2(又變?yōu)檎`差曲線).讀 者可以改變其坐標(biāo)系范圍以仔細(xì)觀測最關(guān)心的部分,也可輸入英他函數(shù)做驗算,注意輸入函 數(shù)應(yīng)符合元素群運算規(guī)則.cos(x)的自階事勒級數(shù)曲線cos(x)的各階奉勒級數(shù)俁差曲線圖31 y = COSX的泰勒級數(shù)及誤差曲線嚴(yán) 1的值,可用symsum命令,相應(yīng)的MATLAB代碼為:工丄 計算級數(shù)心川2clear; syms k;simple(symsum(l/k2, 1, Inf) %simple 求解最簡形式,Inf 為無窮人 結(jié)果為:ans 二l/6*pi2類似地可驗證00 注:可用公式go川代碼為:digi

15、ts(20);a=1.0; kk=l. 0;新殳置今后數(shù)值計算以20位相對精度進(jìn)行%賦初值x i2A:為亠=J, = 12, 可以猜想有g(shù)汽5其中叫是正整數(shù),請驗證.來計算的近似值。如果要稱確到小數(shù)點后15位,相應(yīng)的MATLABfor n=l:20, kk=kk/n; t a=a-kk;, endvpa(a, 17)%以17位相對精度給出a的值 結(jié)果為 w a 2.718281828459045.例5 (調(diào)和級數(shù))1丄丄,丄自然數(shù)的倒數(shù)組成的數(shù)列2 3h 稱為調(diào)和數(shù)列,由調(diào)JL 1JL 1和數(shù)列構(gòu)成的級數(shù)心,2稱為調(diào)和級數(shù),我們把它的前項部分和k記為H(“)計算12JOO時H(n)和lnn,l

16、n(H+!)的值,并計算它們的差C(n) = H(n)-nnt c(n) = H(n)-ln(n +1),相應(yīng)的曲佃代碼為:H(1)=1; C(l)=l;for n=2:100, H(n) =H (n-l)+l/n;, %for 為循環(huán)語句c (n) =H (n) -log (n+1);, C (n) =H (n) -log (n);, end注意觀測C(“)單調(diào)遞減、c(“)單調(diào)遞增,二者相互接近的現(xiàn)象。計算n = 10m(rn = 1,2,6)時C(n)和c(m)的值,注意觀測C5)單調(diào)遞減、旳)單 調(diào)遞增,二者趨于同一極限的現(xiàn)象。并求出這個常數(shù)。極限C = lim(l + + - + + 丄 一 In

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論