數(shù)值分析課程設計new_第1頁
數(shù)值分析課程設計new_第2頁
數(shù)值分析課程設計new_第3頁
數(shù)值分析課程設計new_第4頁
數(shù)值分析課程設計new_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

數(shù)值分析上機實驗報告物理科學與技術學院電子科學與技術專業(yè)楊倩200531510031輔修數(shù)值分析上機實驗報告

武漢大學數(shù)學與統(tǒng)計學院數(shù)值分析實驗報告學院:物理科學與技術學院專業(yè):電子科學與技術專業(yè)實驗名稱使用matlab編寫數(shù)值計算程序指導教師吳老師姓名楊倩年級2005學號200531510031輔修成績實驗一、用Jacobi迭代法計算迭代次數(shù)一、實驗目的:1、學習使用matlab編寫數(shù)值計算程序。2、了解Jacobi迭代法的迭代原理和編程方法。3、根據(jù)Jacobi迭代法的迭代原理編寫matlab程序,并運行的出結果。二、實驗原理:設n階非奇異矩陣A的主對角元全不為0,記D=diag()是非奇異對角陣,做A的一個分裂:。記。迭代過程式為。這種迭代方法稱為Jacobi迭代法。其迭代矩陣記為:右端向量記為:=-記,Jacobi迭代過程為:對照等號兩邊,得到計算(i=1,2,…,n)的公式為,或,i=1,2,…,n三、實驗內容與步驟:1、實驗內容:依照實驗原理編寫Jacobi迭代法的程序。2、實驗步驟:首先,在電腦上安裝matlab,然后,啟動matlab,新建一個M文件。實驗程序如下:程序代碼程序代碼說明function[x,k]=jacobi(,b);x=zeros(size(b));D=diag(diag());B=inv(D)*(D-);g=inv(D)*b;tol=1e-6;err=2;k=0;while(err>tol)x1=B*x+g;err=max(abs(x1-x));x=x1;k=k+1;end%usethefunction。%初始化x0。%D為的主對角元上的值。%根據(jù)公式。%最小精度設為tol。%從k=0開始迭代。%先要判斷是否收斂,如果不收斂,則提示出錯。如果收斂,則根據(jù)x1=B*x+g,計算出第一步迭代的值。%把x的值放在x1中,k加一繼續(xù)迭代,直到達到設定的精度為止。四、實驗數(shù)據(jù)及結果:1、實驗送的初值為:=[-210;1-21;01-2];b=[-20-3]';2、實驗結果為:X=2.25002.50002.7500K=43五、實驗分析:1、在本次實驗中所輸?shù)某踔邓鶎木仃嚍槭諗康?,所以會產(chǎn)生結果,如果當輸入一個Jacobi矩陣為發(fā)散的初值時,則matlab會提示出錯。同時也可能會導致死機。2、在本次實驗中,很容易把迭代矩陣中各分量的代碼的寫錯,因為編程技術還不夠熟練,所以在使用數(shù)學指令上還不夠全面,因此常翻閱書籍找指令代碼,這在以后的實驗中是應該加強訓練的。3、通過本次實驗也增強了我對matlab這個軟件的了解。實驗二、用最小二乘法計算一、實驗目的:1、學習使用matlab編寫數(shù)值計算程序。2、了解最小二乘法的擬合原理和編程方法。3、根據(jù)最小二乘法的擬合原理編寫matlab程序,并運行的出結果。二、實驗原理:設A是階矩陣,稱線性方程組:(1)為超定方程組,這里。如果A的秩r(A)=n,稱A為列滿秩矩陣。記殘向量r=b-Ax,考慮確定一個向量x,使達到最小的問題稱為線性最小二乘問題,這樣的x稱為方程組(1)的最小二乘解。線性最小二乘問題與歐式空間的正交性等有密切聯(lián)系。設超定方程組(1)的系數(shù)矩陣A是列滿秩矩陣,由定理(當m>n時,超定方程組(1)的最小二乘解總是存在。最小二乘解惟一的充分必要條件是)知,方程組(1)的最小二乘解總是存在而且惟一的。設x是最小二乘解,。由定理(當m>n時,超定方程組(1)的最小二乘解總是存在。最小二乘解惟一的充分必要條件是),殘向量,因此,(2)也就是說。X是方程組(1)的最小二乘解等價于是方程組(2)的解。方程組(2)稱為最小二乘問題的正則方程組或法方程組,由于是列滿秩的,因此,方程組(2)是正定方程組。用正則方程組求最小二乘解的計算步驟為如下:①形成;②計算的分解,記;③求解下三角方程組;④求解上三角方程組。三、實驗內容與步驟:1、實驗內容:依照實驗原理編寫最小二乘法的程序。2、實驗步驟:首先,在電腦上安裝matlab,然后,啟動matlab,新建一個M文件。實驗程序如下:程序代碼程序代碼說明functionc=ercheng(x,y,m)fori=1:m+1a(i,:)=x.^(i-1);end=a*a';b=a*y';c=inv()*b;x0=-100:100;y0=0;fori=1:m+1y0=y0+c(i).*x0.^(i-1);endplot(x,y,'+',x0,y0,'k:')%usethefunction。%定義范圍為1到m+1。%分別表示出A和b,c的表示式。%x0的范圍是從-100到100。%y0的范圍從0開始,并根據(jù)輸入的數(shù)值大小決定上限。%計算縱坐標的大小。%畫圖,表示輸入的點和擬合的曲線。四、實驗數(shù)據(jù)及結果:1、實驗送的初值為:x=[-100-75-50-250255075100];y=[4.066.789.4916.2740.6797.62146.43151.85162.7];m=4;實驗結果為:=49.2061=1.4692=0.0104=-0.0001=-0.0000擬合波形為:2、實驗送的初值為:x=[-100-75-50-250255075100];y=[3.8557.55525.55436.24545.54765.55898.587129.548256.3525];m=4;實驗結果為:=51.2424=0.4511=-0.0007=0.0001=0.0000擬合波形為:3、實驗送的初值為:x=[-100-75-50-250255075100];y=[25.665.475.5850.6317.5847.5712.5535.2512.35];m=4;實驗結果為:=32.8234=-0.5284=-0.0087=0.0000=-0.0000擬合波形為:五、實驗分析:1、在本次實驗中所輸?shù)某踔担cy對應的不太好時,就會出現(xiàn)像初值3那樣的,擬合點和擬合曲線之間有很大的差距,但基本上擬合點還是均勻分布在曲線周圍的,初值1和初值2的擬合曲線和擬合點均對應的很好?;驹谇€上,或是曲線附近很小的范圍內。2、這種算法只適用于擬合函數(shù)是多項式的情形。用正則方程組求最小二乘解得方法,有兩個注意的問題:①形成正則方程組時,計算出來的可能不是正定的,也可能是奇異的,以致后面不能用分解來求解正則方程組。比如說:采用六位有限數(shù)位計算,得,這時是奇異的。②矩陣A的狀態(tài)數(shù)與的狀態(tài)數(shù)密切相關,對列滿秩的階矩陣A,有,因此,用正則方程組求最小二乘解時,會增加誤差的敏感性實驗三、復化Simpson求積公式一、實驗目的:1、學習使用matlab編寫數(shù)值計算程序2、了解復化Simpson求積公式的原理和編程方法3、根據(jù)復化Simpson求積公式的原理編寫matlab程序,并運行的出結果。二、實驗原理:設積分區(qū)間等分,,,j=0,1,…,,,。在各長度為的子區(qū)間(j=1,2,…,n)上用復化Simpson求積公式之值代替在這些子區(qū)間上的值,得:。及上式右端為,有:。上式稱為等距情形的復化Simpson求積公式。三、實驗內容與步驟:1、實驗內容:依照實驗原理編寫復化Simpson求積公式的程序。2、實驗步驟:首先,在電腦上安裝matlab,然后,啟動matlab,新建一個M文件實驗程序如下:程序代碼程序代碼說明Function[snf]=Simpson(a,b,n)symsx;h=(b-a)/(2*n);S1=0.0;S2=0.0;fori=1:(n-1)x=a+2*i*h;S1=S1+fc(x);endfori=1:nx=a+(2*i-1)*h;S2=S2+fc(x);endx=a;fa=fc(x);x=b;fb=fc(x);snf=h*(fa+4*S2+2*S1+fb)/3;nhendfunctiony=fc(x)y=exp(x);end%usethefunction。%計算出h的大小。%給S1和S2賦初值。%計算下一個點的x的大小。%計算S1的函數(shù)值。%計算下一個點的x的大小。%計算S2的函數(shù)值。%給x賦值a。%求出當x=a時的f(x)的函數(shù)值。%給x賦值b。%求出當x=時的f(x)的函數(shù)值。%定義最終求出的近似值的大小,并輸出其值。%輸出n,h的值。%定義函數(shù),并把f(x)函數(shù)的表達式定義為exp(x)。四、實驗數(shù)據(jù)及結果:1、實驗送的初值為:a=4;b=0;n=4;2、實驗結果為:n=4h=-0.5000snf=-53.6162五、實驗分析:誤差估計及收斂性:誤差估計及收斂性的討論和復化梯形求積公式的討論是類同的。設,在j=1個子區(qū)間(j=1,2,…,n)上,誤差估計式:,,,將n個子區(qū)間的誤差相加得:。由閉區(qū)間上連續(xù)函數(shù)的介值性質可知在上至少存在一點,使,而,故,(3)公式,與(3)分別為復化梯形、復化Simpson求積公式,的誤差估計。同樣,當討論的是等距離求積公式時,分劃的最大子區(qū)間的長度為,因此只要,當也即時。故。若只要在上可積,記,則,,這三個累加式都是積分和且極限都為。故(可積),即復化Simpson求積值序列收斂于積分值。實驗總結和感悟:通過使用Matlab編寫數(shù)值計算的程序,讓我加深了對數(shù)學編程軟件的使用,同時也使我對各種算法的原理有了更深的一層理解。這是我第一次使用數(shù)學編程工具,雖然我們學院在本學期同時也開設了關于Matlab編程的課程,但我們主要學習使用其中的Simlink軟件的操作,因此,我對Simulink的使用很熟悉,但在編寫數(shù)值計算的程序時還是有點吃力。不過,我在兩學期前就已經(jīng)跟著2005級的數(shù)學類的同學學習過數(shù)值分析這門課,因此,對各種算法還是有一定的了解,所以,我在課下從網(wǎng)絡上尋找了一些高手們編寫的程序,仔細理解他們的編寫思路

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論