數(shù)值分析實驗報告_第1頁
數(shù)值分析實驗報告_第2頁
數(shù)值分析實驗報告_第3頁
數(shù)值分析實驗報告_第4頁
數(shù)值分析實驗報告_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、實 驗 報 告學(xué) 院: 電子與信息工程學(xué)院 專 業(yè): 電子與通信工程專業(yè) 班 級: 數(shù)值分析七班 學(xué) 生:目錄:實驗一:高斯消元法解方程組實驗二:高斯賽德爾迭代法實驗三:牛頓插值法實驗四:最小二乘法來求擬合函數(shù)實驗五:Romberg法解數(shù)值積分實驗六:Newton法解非線性方程的解實驗一:高斯消元法解方程1、實驗?zāi)康模?掌握高斯消去法的基本思路和迭代步驟;2培養(yǎng)編程與上機調(diào)試能力;2、實驗原理:高斯消元法 第一步:設(shè)a11(1)0,記 ,將式(11)中第i個方程減去第1個方程以 ,完成第一次消元,得(11)的通解方程組 其中。方程組(12)簡記為 。第二步:設(shè) ,記 。將式(12)中第i個方程

2、減去第2個方程乘以 ,完成第二次消元。第k步:設(shè)第k-1次消元完成后得到方程組(11)的同解方程組為 按上述作法,完成n-1次消元后,方程組(11)化成同解的上三角形方程組簡記為3、實驗內(nèi)容:編寫用高斯消元法解線性方程組的MATLAB程序,并求解下面的線性方程組。 4、實驗程序及結(jié)果分析:用高斯消元法解線性方程組AX=b的MATLAB程序輸入的量:系數(shù)矩陣A和常系數(shù)向量b;輸出的量:系數(shù)矩陣A和增廣矩陣B的秩RA,RB, 方程組中未知量的個數(shù)n和有關(guān)方程組解X及其解的信息.function RA,RB,n,X=gaus(A,b)B=A b; n=length(b); RA=rank(A); R

3、B=rank(B);zhica=RB-RA;if zhica0,disp(請注意:因為RA=RB,所以此方程組無解.)returnendif RA=RB if RA=ndisp(請注意:因為RA=RB=n,所以此方程組有唯一解.) X=zeros(n,1); C=zeros(1,n+1); for p= 1:n-1for k=p+1:n m= B(k,p)/ B(p,p); B(k,p:n+1)= B(k,p:n+1)-m* B(p,p:n+1);endend b=B(1:n,n+1);A=B(1:n,1:n); X(n)=b(n)/A(n,n); for q=n-1:-1:1 X(q)=(b

4、(q)-sum(A(q,q+1:n)*X(q+1:n)/A(q,q); endelse disp(請注意:因為RA=RB A=2 6 -4;1 4 -5;6 -1 18; b=4;3;2; RA,RB,N,X=gaus(A,b)請注意:因為RA=RB=n,所以此方程組有唯一解.RA = 3RB = 3N = 3X = 1.3333 0 -0.3333 通過實驗我掌握了消元法解方程的一些基本算法以及用matlab實現(xiàn)矩陣的幾種基本計算。是我們初步了解了計算機中線性方程的解法。對MATLAB軟件有了更深的了解。實驗二:高斯賽德爾迭代法1、實驗?zāi)康恼莆崭咚官惖聽柕脑砗蛻?yīng)用,學(xué)會用MATLAB實現(xiàn)高

5、斯賽德爾迭代法解方程組,并且與雅克比迭代法進行比較。2、實驗原理對于方程組不妨設(shè),將方程組變形為其中。記方程組簡記為,上述過程稱為雅克比迭代法。如方程組化為此時,上述迭代為高斯賽德爾迭代法。3、實驗內(nèi)容求解方程組4、實驗程序及結(jié)果分析function EX1() a=input(請輸入系數(shù)矩陣a:); b=input(請輸入矩陣b:); N=input(請輸入最大迭代次數(shù)N:); esp=input(請輸入近似解的誤差限:); if any(diag(a)=0 error(系數(shù)矩陣錯誤,迭代終止!) end D=diag(diag(a); X0=zeros(size(b); x1=0; x2=

6、0; x3=0; X1=x1;x2;x3; h=inv(D)*b;B=inv(D)*(D-a);B1=triu(B); B2=tril(B); k=1; fprintf(高斯-賽德爾迭代法 n); fprintf(第0次迭代得:) disp(X1);while k=N x1=h(1,1)+B1(1,:)*X0; X1=x1;x2;x3; x2=h(2,1)+B1(2,:)*X0+B2(2,:)*X1; X1=x1;x2;x3; x3=h(3,1)+B2(3,:)*X1; X1=x1;x2;x3; if norm(X1-X0,inf)esp fprintf(已滿足誤差限。 ) break end

7、 X0=X1;fprintf(第%2d次迭代得:,k)disp(X1); k=k+1; end fprintf(滿足誤差限的高斯-賽德爾迭代近似解為:) disp(X1); fprintf(雅可比迭代法 ); t=0; Y0=zeros(size(b); while t=N Y1=h+B*Y0; if norm(Y1-Y0,inf) x=0,0.1,0.2,0.3,0.4x = 0 0.1000 0.2000 0.3000 0.4000 format long;y=1,0.99500,0.98007,0.95534,0.92106y = 1.000000000000000 0.99500000

8、0000000 0.980070000000000 0.955340000000000 0.921060000000000 f=Newton(x,y)f =0.05*t4 - 0.00833333*t3 - 0.4975*t2 - 0.000216667*t + 1.0 f=Newton(x,y,0.048)f =35143653349446043306931303/35184372088832000000000000=0.998842703經(jīng)過計算,運行結(jié)果基本達到了預(yù)期的結(jié)果。經(jīng)過此次實驗基本上理解了牛頓插值法的過程。實驗四:用最小二乘法來求擬合函數(shù)1、實驗?zāi)康模菏煜ぷ钚《朔▉砬髷M合函數(shù)

9、原理和基本思想,并能用MATLAB實現(xiàn)2、實驗原理:數(shù)據(jù)擬合的最小二乘問題是:根據(jù)給定的數(shù)據(jù)組(xi,yi)(i=1,2,n),選取近似函數(shù)形式,及給定函數(shù)類H,求函數(shù)(x)H,使得i=1ni2=i=1nyi-(xi)2為最小,即:i=1nyi-(xi)2=minHi=1nyi-(xi)2這種求近似函數(shù)的方法稱為數(shù)據(jù)擬合的最小二乘法,函數(shù)x稱為這組數(shù)據(jù)的最小二乘函數(shù)。通常取H為一些比較簡單函數(shù)的集合,如低次多項式,指數(shù)函數(shù)等等。3、實驗內(nèi)容:已知一組實驗數(shù)據(jù)如下:123424682112840試用最小二乘法求一次擬合多項式,并將擬合曲線畫出來4、實驗程序及結(jié)果分析程序:functiona,b=

10、yichi(x,y)plot(x,y,r+) n=length(x);x0=0;y0=0;c0=0;d0=0;for i=1:n; x0=x(i)+x0; y0=y(i)+y0; c0=x(i)*x(i)+c0; d0=x(i)*y(i)+d0;enda,b=solve(a*n+b*x0=y0,a*x0+b*c0=d0,a,b);a=subs(a);b=subs(b);hold onX=2:0.01:8;Y=b*X+a;plot(X,Y)調(diào)用函數(shù): x=2 4 6 8;y=2 11 28 40; a,b=yichi(x,y)運行結(jié)果:a = -12.5000 b = 6.5500擬合圖像:通過

11、本實驗對用MATLAB進行擬合,有了全面的認識和深化,使認識更加深刻。實驗五:Romberg法解數(shù)值積分1、實驗?zāi)康氖煜?shù)值積分原理和基本思想,并能用MATLAB實現(xiàn)。2、實驗原理數(shù)值求積的基本思想是通過積分中值定理將積分轉(zhuǎn)化為函數(shù)的四則運算。利用梯形公式、Simpson公式、Cotes公式、Romberg公式間的關(guān)系,可構(gòu)造出由梯形公式計算Romberg公式的方法。對于積分,將積分區(qū)間劃分為n等分,分點,則相應(yīng)的復(fù)化梯形公式為:Simpson公式與復(fù)化梯形公式關(guān)系:Cotes公式與Simpson公式關(guān)系:Romberg公式與Cotes公式關(guān)系:3、實驗內(nèi)容求函數(shù)積分,精度為四、實驗程序及結(jié)果

12、分析4、實驗程序及結(jié)果分析function quad,R=bbc(f,a,b,eps)h=b-a;R(1,1)=h/2*(feval(f,a)+feval(f,b);wc=2;n=1;i=0;while wceps i=i+1; s=0; h=h/2; while x f=f1;a=10-100;b=1; quad,R=bbc(f,a,b,0.5e-6);運行結(jié)果:通過本次實驗,理解并掌握了Romberg法對方程的積分過程,并對多學(xué)的理論知識進行驗證。實驗六:Newton法解非線性方程的解1、實驗?zāi)康氖煜ewton法解非線性方程的解的原理和基本思想,并能用MATLAB實現(xiàn)。2、實驗原理將非線

13、性方程線性化,以線性方程的解逐步逼近非線性方程的解,這就是Newton法的基本思想。設(shè)在零點鄰近一階連續(xù)可微,且,當(dāng)充分接近時,由Taylor公式有以方程近似方程其解重復(fù)以上過程,得迭代公式Newton法也是一種不動點迭代,其迭代函數(shù)為3、實驗內(nèi)容求下列方程的非零根4、實驗程序及結(jié)果分析采用牛頓法對該非線性方程進行求解,而本函數(shù)f(x)為奇函數(shù),為了使得牛頓迭代公式初始值比較靠近該方程的非零根,應(yīng)該確定該方程非零根的大概范圍。故首先用Matlab畫圖指令畫出該函數(shù)的曲線圖。因注意到513-0.6651x0,則可知|x| x=-770:770 y=log(513+0.6651*x)./(513-

14、0.6651*x)-x/(1400*0.0918); plot(x,y) grid得出函數(shù)圖如下:由上圖可以很明顯看出,原方程有一個零根,兩個關(guān)于原點對稱的非零實根。由圖估測原方程的正實根的x坐標(biāo)值在770附近。并且經(jīng)驗證f(770)=1.07710,而f(760)=-1.00550。所以正實根落在區(qū)間760,770上?,F(xiàn)取初始值0x=765。誤差限errorlim=510,最大迭代次數(shù)N=100。先建兩個M文件,保存函數(shù)f3(x)與df3(x),M文件如下:%子函數(shù)非線性函數(shù)f3function y=f3(x)y=log(513+0.6651*x)/(513-0.6651*x)-x/(1400*0.0918);end%子函數(shù)非線性函數(shù)df3function y =df3() syms(x1);y=log(513+0.6651*x1)/(513-0.6651*x1)-x1/(1400*0.0918);y=diff(y);end%主程序牛頓法解非線性方程組c

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論