版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
5.3節(jié)數(shù)列和級數(shù)一.數(shù)列的表示方法數(shù)列就是自變量為整數(shù)時的函數(shù)。MATLAB中的元素群運算特別適合于簡明地表達數(shù)列,可省去其他語言中的循環(huán)語句。下面就是一些例子:n=1:6;1./n=1.00000.50000.33330.25000.20000.1667(-1).^n./n= -1.00000.5000-0.33330.2500-0.20000.16671./n./(n+1)=0.50000.16670.08330.05000.03330.0238左端的算式表示這個數(shù)列產(chǎn)生方法的“通項”,它必須符合元素群運算的規(guī)則,所以要充分注意用點乘、點除和點冪。例如(-1).^n就是產(chǎn)生交項數(shù)列符號位的算式,它在n取偶數(shù)時為正,而它在n取奇數(shù)時為負。在某些情況下,當產(chǎn)生數(shù)列的運算中包含數(shù)組運算時,就不可避免地要用for循環(huán)。數(shù)列用for循環(huán)的表示方法比如計算n!(n的階乘),它應該寫成prod(1:n),其中的n就不能是數(shù)組,因為prod(1:n)中已用了數(shù)組[1:n]。這時必須用:fork=1:6x(k)=1/prod(1:k);end,x得
x=1.00000.50000.16670.0417 0.00830.0014在MATLAB中數(shù)列隨n增加而變化的趨向很容易由計算其數(shù)值并作圖的方法來解決。但要求數(shù)列在n趨向∞時的極限時往往要藉助于符號數(shù)學,可以從下面的實例看出?!纠?-3-1】對下列各題的序列,問:(i)。計算并畫出其前25項,判斷它是否收斂。若收斂,極限L是多少?(ii)。如果序列收斂,找到數(shù)N,使得n>N后的an都有 。如果要離極限L小于0.0001,序列該取多長?
(1) ,(2) ,
(3) ,(4) ,解例5.3.1的程序解:◆只要會寫通項的表達式,程序是很簡單的。用數(shù)值計算方法時,四個題可編在一起如下:程序exn531n=1:25;a1=n.^(1./n);a2=(1+0.5./n).^n;a3=sin(n);a4=n.*sin(1./n);plot(n,a1,n,a2,n,a3,n,a4)程序exn531的運行結果得到的數(shù)列圖如右。在計算機屏幕上,四根曲線將用不同的顏色區(qū)分和標注,在黑白印刷的書上只好另加字母??梢猿醪脚袛啵薬3以外,其他三組數(shù)列在n趨向于∞時都趨向于某極限L1,L2,L4。用符號數(shù)學求數(shù)列的極限求極限最好用符號數(shù)學來解,主要的不同是自變量n應設為符號變量,所有的函數(shù)也要重寫一次,使它們也成為符號因變量,最好是在程序開始處用clear命令清除掉前面程序在工作空間中生成的同名數(shù)值變量。語句如下:clear,symsnL1=limit(n^(1/n),inf) %為了縮短語句,也可寫成兩句:a1=n^(1/n),L1=limit(n^(1/n),inf)L2=limit((1+0.5./n).^n,inf)L4=limit(n.*sin(1./n),inf)程序運行后,得到L1=1,L2=exp(1/2),L4=1二.常數(shù)項級數(shù)無窮數(shù)列的累加稱為級數(shù),當取其前面若干有限項時,得到的是部分和。將數(shù)列a累加形成的新序列可用s=cumsum(a)實現(xiàn),如果a的長度是n,則s的長度也是n。即每一個s(k)是數(shù)組a中前k項的和。注意cumsum與sum命令的區(qū)別,若ss=sum(a),得到的是一個數(shù),是序列s=cumsum(a)中最后一項ss=s(n)。因為它是把a中所有元素加在一起得到的最后結果。MATLAB中同樣有符號數(shù)學的累加命令,要注意它與數(shù)值計算的差別,主要是符號數(shù)學沒有數(shù)組累加成數(shù)組的命令,只有求一個求總和的累加命令symcum。【例5-3-2】設級數(shù)(a) ,(b) ,試觀察它們的部分和序列變化的趨勢,如果是收斂的,計算出它們在n趨向于無窮大時的極限值。解:(1)。用數(shù)值方法計算的程序exn532如下:clear,n=input('n=');k=1:n;a1=1./k.^2;s1=cumsum(a1);a2=1./k;s2=cumsum(a2);plot(k,s1,k,s2),gridons1(end),s2(end)程序exn532的運行結果鍵入n=20時,得到圖形如圖,數(shù)值結果為:s1(end)=1.59616324391302s2(end)=3.59773965714368我們只能從圖形上猜測s1會趨向于一個極限,而s2就難說了。用符號數(shù)學求部分和的程序clear,symsk,ss1_20=symsum(1/k^2,1,20)ss1=symsum(1/k^2,1,inf)ss2=symsum(1/k,1,inf)結果為:ss1_20=1.59616324391302ss1=1/6*pi^2=1.64493406684823ss2=inf三.函數(shù)項級數(shù)【例5-3-3】
利用冪級數(shù)計算指數(shù)函數(shù)解:◆原理:指數(shù)可以展開為冪級數(shù)其通項為x^n/prod(1:n),因此用下列循環(huán)相加程序就可計算出這個級數(shù);%輸入原始數(shù)據(jù),初始化yx=input('x=');n=input('n=');y=1;%將通項循環(huán)相加n次,得yfori=1:ny=y+x^i/prod(1:i);end,y分別代入x=1,2,4,-4四個數(shù),取n=10,結果如下表用級數(shù)計算指數(shù)的結果exp(x)nx=124-412.000000003.000000005.00000000-3.0000000022.500000005.0000000013.000000005.0000000032.666666676.3333333323.66666667-5.6666666742.708333337.0000000034.333333335.0000000052.716666677.2666666742.86666667-3.5333333362.718055567.3555555648.555555562.1555555672.718253977.3809523851.80634921-1.0952381082.718278777.3873015953.431746030.5301587392.718281537.3887125254.15414462-0.19223986102.718281807.3889947154.443104060.09671958有效數(shù)位7420此計算程序的缺點與問題可以看出這個簡單程序雖然原理上正確,但不好用,精度差別很大。問題是:(1)只能用于單個標量x的計算,不能用于x的數(shù)組運算;(2)當x為負數(shù)時,它成為交項級數(shù),它收斂很慢;(3)此程序要做n2/2次乘法,n很大時,乘法次數(shù)太多,計算速度低。(4)若x較大,n就要較大才能達到精度要求。因此n由用戶來輸入不科學,應該由軟件按精度要求來選;程序改進的方法(一)(1)??紤]到數(shù)組和輸出顯示的程序如下:x=input('x=');n=input('n=');%輸入x,n,y=ones(size(x)); %初始化y fori=1:ny=y+x.^i/prod(1:i); %循環(huán)相加end
執(zhí)行此程序并輸入x=[1,2,4,-4]及n=10,可一次得出上表的計算結果。(2)。此時可以利用exp(-x)=1/exp(x)來避免交項級數(shù)的計算;程序改進的方法(二)(3)。設一個中間變量z,它的初始值為z=ones(size(x)),把循環(huán)體中的計算語句改成
y=y+z;z=x.*z/i這樣求得的z就是z=x.^i/i!,于是每個循環(huán)只需作一次乘法,計算整個級數(shù)只需n次乘法。按這種算法,y的初始值應改為y=zeros(size(x))。(4)。為了按精度選擇循環(huán)次數(shù),就不該用for循環(huán),而該用while語句,它可以設置循環(huán)繼續(xù)的條件語句。通??扇+z-y>tol,tol是規(guī)定的允許誤差。只要相鄰兩次的y值之差大于tol,循環(huán)繼續(xù)進行,直至小于tol為止。X太大時exp(x)程序的改進為了使x不致太大,還可以利用關系式exp(x)=(exp(x/k))k,令x1=x/k, k通常取大于而最靠近x的2的冪。(即k=nextpow2(x))例如x=100,就取k=128,這樣保證x1的絕對值小于1,級數(shù)收斂得很快。取十項保證有7位有效數(shù)。而exp(x1)128可化成x=(...((exp(x1))2)2...)2,即x1的七次自乘。用七次乘法就可完成。這既保證了精度,又提高了速度。不同階數(shù)泰勒級數(shù)的近似程度【例5-3-4】把一個多項式用泰勒級數(shù)表示,分析階數(shù)對逼近程度的影響.解:◆原理一個多項式函數(shù)可以精確地用泰勒公式展開,但必須取足夠高的階數(shù)(等于多項式的次數(shù)),否則就會產(chǎn)生誤差.在MATLAB中,多項式可以用其系數(shù)向量來表示,求值和求導用polyval和polyder命令可參閱本書4.3節(jié)。設多項式則它在附近展開的n階泰勒公式為這個公式是精確的,沒有誤差項:泰勒級數(shù)展開程序exn534此程序最高只到三階,如果輸入多項式系數(shù)向量a的長度不大于4,則其高階泰勒展開式完全精確,如length(a)大于4,就會有誤差,讀者可自行試算.并考慮如何編寫更完美的程序. a=input('輸入多項式系數(shù)向量a=[]='); x0=input('展開點的坐標值x0='); [xm]=input('展開坐標區(qū)間[xmin,xman]=[]='); x=linspace(xm(1),xm(2)); %設定自變量數(shù)組
y=polyval(a,x); ya=polyval(a,x0); %求y在x0點的值y(x0)多項式泰勒展開程序(續(xù))Da=polyder(a),Dya=polyval(Da,x0); %求x0點的一階導數(shù)D2a=polyder(Da),D2ya=polyval(D2a,x0);%求x0點的二階導數(shù)D3a=polyder(D2a),D3ya=polyval(D3a,x0);%求x0點的三階導數(shù)yt(1,:)=ya+Dya*(x-x0); %一階泰勒展開%二階泰勒展開yt(2,:)=yt(1,:)+D2ya*(x-x0).^2/prod(1:2);%三階泰勒展開yt(3,:)=yt(2,:)+D3ya*(x-x0).^3/prod(1:3);plot(x,y,’.’,x,yt(1:3,:)),grid%繪圖,準確值用點線表示程序xn534運行結果輸入a=[2,-3,4,5];x0=1;xmin=0;xmax=2;得出圖5-3-1所示的三根曲線,本來應有四根,但有兩根曲線是重合的,因為我們輸入的多項式系數(shù)向量長度為4.讀者可試驗輸入更長的a來比較其結果.例5-3-5任意函數(shù)的泰勒級數(shù)編寫演示任意函數(shù)展開為各階泰勒級數(shù)的程序,并顯示其誤差曲線.解:◆原理 任意函數(shù)的泰勒展開式如下: 其中 為余項,也就是泰勒級數(shù)展開的誤差。泰勒展開程序exn535(1)fxs=input('輸入y=f(x)的表達式; %fxs是字符串K=input('輸入泰勒級數(shù)的展開階數(shù)K=(書上為5)');a=input('展開的位置x0=(書上為0.5)');b=input('展開的區(qū)間半寬度b=(書上為2)');x=linspace(a-b,a+b);%構成自變量數(shù)組lx=length(x);dx=2*b/(lx-1); %數(shù)組x的長度和間距y=eval(fxs); %求出y的準確值%y的準確曲線用點線繪出subplot(1,2,1),plot(x,y,'.'),holdon 泰勒展開程序exn535(2)%求出y在a點一階導數(shù),注意數(shù)組求導后長度減一Dy=diff(y)/dx;Dya(1)=Dy(round((lx-1)/2)); %一階泰勒展開,繪圖yt(1,:)=y(round(lx/2))+Dya(1)*(x-a);plot(x,yt(1,:))%求出a點2~k階導數(shù)和y的k階展開fork=2:KDy=diff(y,k)/(dx^k);Dya(k)=Dy(round((lx-k)/2));yt(k,:)=yt(k-1,:)+Dya(k)/p
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 隧道施工機械的能效改進與減排措施考核試卷
- 銅材加工中的金屬成形極限研究考核試卷
- 鋁冶煉與區(qū)域經(jīng)濟結構調整考核試卷
- 鋁礦選礦過程中的浮選工藝優(yōu)化考核試卷
- 系統(tǒng)穩(wěn)定性分析-第3篇-洞察分析
- 醫(yī)療信息化國際合作-洞察分析
- 2025年北京中考語文作文題目二想象文“時間控制器”范文
- 虛擬現(xiàn)實在市場營銷中的應用-第1篇-洞察分析
- 體驗式績效管理研究-洞察分析
- 沿海漁業(yè)可持續(xù)發(fā)展策略-洞察分析
- 中小企業(yè)內部控制與風險管理(第二版)項目一:內部控制與風險管理基礎
- 駕駛艙資源管理緒論課件
- 聲藝 EPM8操作手冊
- 西北農(nóng)林科技大學專業(yè)學位研究生課程案例庫建設項目申請書(MBA)
- 外墻保溫、真石漆施工技術交底
- 車床日常點檢表
- 配網(wǎng)工程施工監(jiān)理管理要點~.docx
- 國內No.7信令方式技術規(guī)范----綜合業(yè)務數(shù)字網(wǎng)用戶部分(ISUP)
- 尾礦庫在線監(jiān)測方案)
- 房屋安全簡易鑒定表.docx
- FSSC運營管理制度(培訓管理辦法)
評論
0/150
提交評論