運用MATLAB語言解決級數(shù)及其相關問題李娟娟_第1頁
運用MATLAB語言解決級數(shù)及其相關問題李娟娟_第2頁
運用MATLAB語言解決級數(shù)及其相關問題李娟娟_第3頁
運用MATLAB語言解決級數(shù)及其相關問題李娟娟_第4頁
運用MATLAB語言解決級數(shù)及其相關問題李娟娟_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、MATLAB語言課程論文運用MATLAB語言解決級數(shù)及其相關問題姓名:李娟娟 專業(yè):電子信息工程 班級:2010級電子班指導老師:湯全武學院:物理電氣信息學院完成日期:2011/12/12運用MATLAB語言解決級數(shù)及其相關問題摘要無窮級數(shù)是高等數(shù)學中的一個重要組成部分,它是表示函數(shù),研究函數(shù)的性質以及進行數(shù)值計算的一種工具。運用MATLAB語言來求解無窮級數(shù)求和、冪級數(shù)展開、泰勒級數(shù)展開以及研究傅里葉級數(shù)提供了方便,并且在復變函數(shù)中解決級數(shù)問題也可由MATLAB來完成。同時運用高等數(shù)學中級數(shù)來解決日常實際問題的情況也可通過MATLAB程序來完成。MATLAB的運用大大減少工作量、節(jié)約時間,同

2、時加深對高等數(shù)學、復變函數(shù)及MATLAB語言的理解和學習。關鍵詞MATLAB語言 無窮級數(shù) 級數(shù)求和 泰勒級數(shù) 傅里葉級數(shù)一、問題的提出級數(shù)作為高等數(shù)學和復變函數(shù)中的必學內容,要求我們必須掌握其定理內容及計算方法。但級數(shù)強大的計算量和多字母的表達示讓很多人無從下手,加上出錯率高,更給級數(shù)運算再添麻煩。為解決這一問題我們現(xiàn)在運用MATLAB語言來求解高等數(shù)學中的級數(shù)問題,涉及常系數(shù)項級數(shù)求和、泰勒級數(shù)展開成冪級數(shù)以及函數(shù)的傅里葉級數(shù)的展開等。二、常數(shù)項級數(shù)的求和與審斂高數(shù)中,一般的,如果給定一個數(shù)列則由這數(shù)列構成的表達式: (1)叫做(常數(shù)項)級數(shù),記為,即=其中第n項叫做級數(shù)的一般項。做(常數(shù)

3、項)級數(shù)(1)的前n項和 (2)稱為級數(shù)的(1)部分和,當n依次取1,2,3,時,他們構成一個新數(shù)列 如果這個數(shù)列的極限存在,則稱該級數(shù)收斂,并稱級數(shù)的部分和(2)為級數(shù)的和。在MATLAB語言中,用于級數(shù)求和的命令是symsum(),該命令的應用格式為:Symsum(a,v,m,n)其中:a表示級數(shù)的通項表達式,是一個符號表達式。V是通向中的求和變量,v省略時使用系統(tǒng)的默認變量。m和n分別是求和變量的開始項和末項,如果m、n缺省,則v從0變到V-1。問題1:求下列級數(shù)的和(1)(2)分析:運用傳統(tǒng)方式,我們需要計算通項的極限,繁瑣費時,出錯率高?,F(xiàn)在我們用MATLAB語言來解決:解:利用MA

4、TLAB語言中的symsum函數(shù)設計程序如下:clearsyms n %定義符號變量nf1=(2*n-1)/2n; %級數(shù)(1)的通項表達式f2=1/(n*(2*n+1); %級數(shù)(2)的通項表達式 I1=symsum(f1,n,1,inf) %求I1I2=symsum(f2,n,1,inf) %求I2運行結果為:I1 = 3 I2 = 2-2*log(2)數(shù)學表達式為:I1=3; I2=。 本例是收斂的情況,如果發(fā)散,則求得的和為inf。因此,本方法就可以同時用來解決求和問題和收斂性問題。問題2:求下列級數(shù)的和(1)(4)此題涉及函數(shù)解決難度大,運用MATLAB解題方便省時。解:MATLAB

5、程序如下:Clear syms n x %定義符號變量n、xf3=sin(x)/n2; %級數(shù)(1)的通項表達式f4=(-1)(n-1)*xn/n; %級數(shù)(2)的通項表達式I3=symsum(f3,n,1,inf) %求I3I4=symsum(f4,n,1,inf) %求I4運行結果為:I3 = 1/6*sin(x)*pi2 I4 = log(1+x)數(shù)學表達式為:I3=;I4=。 從這個例子可以看出,symsum()這個函數(shù)不但可以處理常數(shù)項級數(shù),也可以處理函數(shù)項級數(shù)。三、函數(shù)的泰勒展開式級數(shù)是高等數(shù)學中函數(shù)的一種重要表示形式,有許多復雜的函數(shù)都可以用級數(shù)簡單地來表示,而將一個復雜的函數(shù)展

6、開成冪級數(shù)并取其前面的若干項來近似表達這個函數(shù)是一種很好的近似方法,在學習級數(shù)的時候,我們知道將一個函數(shù)展開成級數(shù)有時是比較麻煩的,現(xiàn)在介紹用MATLAB語言來展開函數(shù)的方法。若設函數(shù)在點的某領域內能展開成冪級數(shù),即有 (1)那么,根據(jù)和函數(shù)的性質,可知在內應具有任意階導數(shù),且由此可得 于是 (n=0,1,2,) (2) 這就表明,如果函數(shù)有冪級數(shù)展開式(1),那么該冪級數(shù)的系數(shù)有公式(2)確定,即該冪級數(shù)必為 (3)而展開式必為 (4) 冪級數(shù)(3)叫做函數(shù)在點處的泰勒級數(shù),展開式(4)叫做函數(shù)在點處的泰勒展開式。 在MAILAB語言中,用于冪級數(shù)展開的函數(shù)為taylor()。其調用格式為:

7、Taylor(f,v,n,a)該函數(shù)將函數(shù)f按變量v展開為泰勒級數(shù),展開到第n項(即變量v的n-1次冪)為止,n的默認值為6.v的默認值與diff函數(shù)相同。參數(shù)a指定將函數(shù)f在自變量v=a處展開,a的默認值是0,即邁克勞林展開。問題3:將函數(shù)展開為冪級數(shù),分別展開至5次和20次分析:高等數(shù)學中解法:所給函數(shù)的各階導數(shù)為順序循環(huán)的取0,1,0,-1(n=0,1,2,3,),于是得級數(shù),它的收斂半徑又因為:對于任何有限的數(shù)、(在0與之間),余項的絕對值當時的極限為零。因此的展開式(, )由上可知,解題過程繁瑣且計算量大、易出錯,相應的我們下面運用MATLAB語言來完成。解:MATLAB程序為:cl

8、earsyms x %定義字符變量f=sin(x); %函數(shù)表達式taylor(f) %求函數(shù)的5階泰勒級數(shù)展開式taylor(f,20) %求函數(shù)的20階泰勒級數(shù)展開式運行結果為:ans = x-1/6*x3+1/120*x5ans =數(shù)學表達式為:5階展開式: 20階展開式: 問題4:將函數(shù)展開為x 的冪級數(shù),m 為任意常數(shù)。展開至4次冪。分析:高等數(shù)學中解法:的各階導數(shù)為所以 ,, ,于是得級數(shù)這級數(shù)相鄰兩項的系數(shù)之比的絕對值,因此,對于任何實數(shù)m這級數(shù)在開區(qū)間(-1,1)內收斂到函數(shù)F(x): 下面證明。 逐項求導,得,兩邊各乘以,并把含有(n=1,2,)的兩項合并起來。根據(jù)恒等式(n

9、=1,2,)可得 現(xiàn)在令 ,于是,且 =0所以(常數(shù))。但是,從而,即。因此在區(qū)間(-1,1)內展開式 由此看出解題過程過于復雜、耗時久且出錯率高,掌握起來難。現(xiàn)在我們用MATLAB語言來解決:解:MATLAB程序為: clearsyms x m %定義字符變量f=(1+x)m; %F(x)的函數(shù)表達式taylor(f,5) %函數(shù)的4次泰勒展開式運行結果為:ans =1+m*x+1/2*m*(m-1)*x2+1/6*m*(m-1)*(m-2)*x3+1/24*m*(m-1)*(m-2)*(m-3)*x4數(shù)學表達式為: 四、函數(shù)的傅立葉級數(shù)展開傅里葉級數(shù)的運用很廣泛,在解決電路分析、信號與系統(tǒng)

10、及大學物理中都有重要應用,其求解公式簡單、含義明確,但對一些常見的周期函數(shù)中,應用公式求傅里葉級數(shù)時,常常面臨較大的計算量,而且出錯幾率很高?,F(xiàn)在我們利用MATLAB語言來編程求解函數(shù)的傅里葉級數(shù)展開式。先來認識傅里葉級數(shù):設是周期為的周期函數(shù),且能展開成三角級數(shù): (5)先求。對(5)式從到積分,假設(5)式右端級數(shù)可逐積分,因此有。根據(jù)三角函數(shù)系的正交性,等式右端除第一項外,其余各項均為零,所以于是得其次求。用乘(5)式兩端,再從到積分,我們得到 =。根據(jù)三角函數(shù)正交系,等式右端k=n的一項外,其余各項均為零,所以,于是得 (n=1,2,)類似的,用乘(5)式的兩端,再從到積分,可得 (n

11、=1,2,)由于當n=0時,的表達式正好給出,因此,已得結果可以合并寫成 (n=1,2,) (n=1,2,)如果兩式的積分都存在,這時他們定出的系數(shù),叫做的傅里葉系數(shù),將這些系數(shù)代入(5)式右端,所得的三角級數(shù)叫做函數(shù)的傅里葉級數(shù)。在MATLAB語言中,沒有專門求傅里葉級數(shù)的函數(shù)調用。但我們可以借助函數(shù)int()利用傅里葉級數(shù)展開式公式來編寫相應的計算函數(shù)。程序如下:先定義函數(shù)myfly.m:function a0,ak,bk=myfly(f) %定義輸出參數(shù)和輸入參數(shù)及函數(shù)名syms k x %定義符號變量k xa0=int(f,x,-pi,pi)/pi; %求a0的積分函數(shù)語句ak=int

12、(f*cos(k*x),x,-pi,pi)/pi; %求ak的積分函數(shù)語句bk=int(f*sin(k*x),x,-pi,pi)/pi; %求bk的積分函數(shù)語句注意,該文件一定要以myfly.m為文件名。這樣得到的是公式,如果要計算出具體的數(shù)值,則可以用下面的方法實現(xiàn):現(xiàn)將ak,bk的計算公式分別編制成獨立的函數(shù),并以相應的文件名命名這里先編制兩個m文件,其內容分別為:%fourieran.mfunction an=fourieran(f,n) %定義函數(shù)文件fourieransyms x %定義符號變量xan=int(f*cos(n*x),x,-pi,pi)/pi; %求an%fourier

13、bn.mfunction bn=fourierbn(f,n) %定義函數(shù)文件fourierbnsyms x %定義符號變量xbn=int(f*sin(n*x),x,-pi,pi)/pi; %求bn接著,再編寫程序如下:clearsyms x n %定義符號變量x nf=x2 %函數(shù)表達式a0=fourieran(f,0) %調用函數(shù)文件fourieran求a0;a=zeros(1,10) %建立一個1*10的零矩陣b=zeros(1,10) %建立一個1*10的零矩陣for n=1:10 %n為1到10間隔為1的一組數(shù)a(n)=fourieran(f,n); %調用函數(shù)文件fourieran求

14、a(n)endfor n=1:10 %n為1到10間隔為1的一組數(shù) b(n)=fourierbn(f,n); %調用函數(shù)文件fourierbn求b(n)end即可完成前21個傅立葉系數(shù)的計算。問題6:求函數(shù) 在 上的傅立葉級數(shù)。解:先求出傅立葉系數(shù),程序如下:clearsyms x n %定義字符變量x、nf=x2 %被積函數(shù)表達式a0=int(f,x,-pi,pi)/pi %求a0an=int(f*cos(n*x),x,-pi,pi)/pi %求anbn=int(f*sin(n*x),x,-pi,pi)/pi %求bn運行結果為:f =x2a0 =2/3*pi2an =2*(n2*pi2*s

15、in(pi*n)-2*sin(pi*n)+2*pi*n*cos(pi*n)/n3/pibn =0數(shù)學表達式為: 這里,我們得到了傅立葉系數(shù)的公式,只要代入具體的n就可以得到結果了。四、結論由以上的利用MATLAB語言解決高等數(shù)學中級數(shù)求和、泰勒級數(shù)展開成冪級數(shù)及函數(shù)的傅里葉級數(shù)展開式的分析,我們不難看出得出以下結論:1、MATLAB語言可以解決高等數(shù)學中有關于技術的相關計算;2、運用MATLAB語言解決高等數(shù)學中級數(shù)的相關問題簡單方便、可操作性強、節(jié)約時間、減少出錯率;3、MATLAB語言應用廣泛,幫助解決各類學科中的難點、要點,方便省時。五、課程體會通過MATLAB語言一學期的學習,我們也漸

16、漸擺脫剛開始的盲目和不解,開始有了自己對MATLAB語言的認識和了解,也體會到運用MATLAB語言解題真的可以帶來方便。MATLAB為我們打開了一扇窗,讓我們對計算機編程語言有了初步認識,作為一名學習電子信息工程專業(yè)的學生,學習和掌握編程是很重要的?,F(xiàn)在的我們對專業(yè)知識還不太了解,許多專業(yè)課還沒有開,但從學長和老師們口中我們知道計算機編程語言是基礎,大一時學過的C語言是學好其他編程語言的基礎,而我們在學習MATLAB語言時也感到有很多知識和C語言很相似,結合原來學的C語言對理解MATLAB語言有很大幫助。這些計算機編程語言對我們以后學習必不可少,至少下學期開的信號與系統(tǒng)就會用到有關MATLAB語言的知識,在以后的單片機等編程中也有涉及。因此學會MATLAB的基本使用格式、函數(shù)調用方法、各種工具箱的使用、繪圖基本操作等對以后的學習至關重要。MATLAB語言的應用相當廣泛,不僅可以用到高等數(shù)學、復變函數(shù)、大學物理、電路分析、模擬電路分析等一系列基礎課程的學習,而且對于以后專業(yè)課的學習也有很大幫助。利用MATLAB語言解決在其它學科的應用時簡單方便、節(jié)約時間、操作性強,切實解決利用數(shù)學計算方法解題繁瑣費時、出錯率高的難題,而且在例題引用和公式定理證明時能快速給出正確的答案,減少由于手動計算出錯而帶來的不必要麻煩。另外它MATLAB語言簡單易學,相對于其它計算機語言MATLA

溫馨提示

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

評論

0/150

提交評論