版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、實 驗 報 告學 院: 電子與信息工程學院 專 業(yè): 電子與通信工程專業(yè) 班 級: 數(shù)值分析七班 學 生:目錄:實驗一:高斯消元法解方程組實驗二:高斯賽德爾迭代法實驗三:牛頓插值法實驗四:最小二乘法來求擬合函數(shù)實驗五:Romberg法解數(shù)值積分實驗六:Newton法解非線性方程的解實驗一:高斯消元法解方程1、實驗目的:1掌握高斯消去法的基本思路和迭代步驟;2培養(yǎng)編程與上機調(diào)試能力;2、實驗原理:高斯消元法 第一步:設a11(1)0,記 ,將式(11)中第i個方程減去第1個方程以 ,完成第一次消元,得(11)的通解方程組 其中。方程組(12)簡記為 。第二步:設 ,記 。將式(12)中第i個方程
2、減去第2個方程乘以 ,完成第二次消元。第k步:設第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 zhica>0,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)
4、; for q=n-1:-1:1 X(q)=(b(q)-sum(A(q,q+1:n)*X(q+1:n)/A(q,q); endelse disp('請注意:因為RA=RB<n,所以此方程組有無窮多解.')endend編寫高斯消元法MATLAB文件如下:clear>> 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 通過實驗我掌握了消元法解方程的一些
5、基本算法以及用matlab實現(xiàn)矩陣的幾種基本計算。是我們初步了解了計算機中線性方程的解法。對MATLAB軟件有了更深的了解。實驗二:高斯賽德爾迭代法1、實驗目的掌握高斯賽德爾的原理和應用,學會用MATLAB實現(xiàn)高斯賽德爾迭代法解方程組,并且與雅克比迭代法進行比較。2、實驗原理對于方程組不妨設,將方程組變形為其中。記方程組簡記為,上述過程稱為雅克比迭代法。如方程組化為此時,上述迭代為高斯賽德爾迭代法。3、實驗內(nèi)容求解方程組4、實驗程序及結(jié)果分析function EX1() a=input('請輸入系數(shù)矩陣a:'); b=input('請輸入矩陣b:'); N=in
6、put('請輸入最大迭代次數(shù)N:'); esp=input('請輸入近似解的誤差限:'); if any(diag(a)=0 error('系數(shù)矩陣錯誤,迭代終止!') end D=diag(diag(a); X0=zeros(size(b); x1=0; x2=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&
7、#39;);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 X0=X1;fprintf('第%2d次迭代得:',k)disp(X1'); k=k+1; end fprintf('滿足誤差限的高斯-賽德爾迭代近似解為:')
8、 disp(X1'); fprintf('雅可比迭代法 '); t=0; Y0=zeros(size(b); while t<=N Y1=h+B*Y0; if norm(Y1-Y0,inf)<esp fprintf('滿足誤差限 n') breakend Y0=Y1; fprintf('第%2d次迭代得:',t) disp(Y1'); t=t+1; end fprintf('滿足誤差限的雅可比迭代近似解為:') disp(Y1'); fprintf('用高斯-賽德爾迭代法迭代次數(shù)為 %d
9、次n用雅克比迭代法迭代次數(shù)為%d次n',k-1,t-1)實驗結(jié)果實驗結(jié)果表明,用高斯賽德爾迭代法解方程組比雅克比迭代法效果好,迭代4次所得到的的結(jié)果與雅克比迭代法迭代6次所得結(jié)果相仿。實驗三:牛頓插值法1、實驗目的:1.掌握牛頓插值法的基本思想和計算步驟;2.理解牛頓插值法的基本原理和特點;3.掌握牛頓插值法的Matlab程序?qū)崿F(xiàn)方法;2、實驗原理:牛頓插值法差商表3、實驗內(nèi)容:已知函數(shù)f(x)=cos x的函數(shù)表如下:xi0.00.10.20.30.4f(xi)1.000000.995000.980070.955340.92106求f(x)的四次Newton插值多項式,并計算f(0.
10、048)的近似值。4、實驗程序及結(jié)果分析function f = Newton(x,y,x0)syms t;if(length(x) = length(y) n = length(x); c(1:n) = 0.0;else disp('x和y的維數(shù)不相等!'); return;endf = y(1);y1 = 0;l = 1;for(i=1:n-1) for(j=i+1:n) y1(j) = (y(j)-y(i)/(x(j)-x(i); end c(i) = y1(i+1); l = l*(t-x(i); f = f + c(i)*l; simplify(f); y = y1;
11、 if(i=n-1) if(nargin = 3) f = subs(f,'t',x0); else f = collect(f); %將插值多項式展開 f = vpa(f, 6); end endend實驗結(jié)果>> 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.995000000000000 0.980070000000000 0.955340000
12、000000 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é)果基本達到了預期的結(jié)果。經(jīng)過此次實驗基本上理解了牛頓插值法的過程。實驗四:用最小二乘法來求擬合函數(shù)1、實驗目的:熟悉最小二乘法來求擬合函數(shù)原理和基本思想,并能用MATLAB實現(xiàn)2、
13、實驗原理:數(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=yichi(x,y)plot(x,y,
14、39;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)
15、運行結(jié)果:a = -12.5000 b = 6.5500擬合圖像:通過本實驗對用MATLAB進行擬合,有了全面的認識和深化,使認識更加深刻。實驗五:Romberg法解數(shù)值積分1、實驗目的熟悉數(shù)值積分原理和基本思想,并能用MATLAB實現(xiàn)。2、實驗原理數(shù)值求積的基本思想是通過積分中值定理將積分轉(zhuǎn)化為函數(shù)的四則運算。利用梯形公式、Simpson公式、Cotes公式、Romberg公式間的關(guān)系,可構(gòu)造出由梯形公式計算Romberg公式的方法。對于積分,將積分區(qū)間劃分為n等分,分點,則相應的復化梯形公式為:Simpson公式與復化梯形公式關(guān)系:Cotes公式與Simpson公式關(guān)系:Romberg公式
16、與Cotes公式關(guān)系:3、實驗內(nèi)容求函數(shù)積分,精度為四、實驗程序及結(jié)果分析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 wc<eps i=i+1; s=0; h=h/2; while x<b x=a+h/2; s=s+feval(f,x); x=x+h end R(i+1,1)=R(i,1)/2+h*s; for j=1:i R(i+1,j+1)=R(i+1,j)+(R(i+1,j)-R(i,j)/(4j-1); end wc=a
17、bs(T2-T1);endj=i;quad=R(i+1,j+1);在命令窗口輸入:function f=f1(x)f=sin(x)/x>> f=f1;a=10-100;b=1;>> quad,R=bbc(f,a,b,0.5e-6);運行結(jié)果:通過本次實驗,理解并掌握了Romberg法對方程的積分過程,并對多學的理論知識進行驗證。實驗六:Newton法解非線性方程的解1、實驗目的熟悉Newton法解非線性方程的解的原理和基本思想,并能用MATLAB實現(xiàn)。2、實驗原理將非線性方程線性化,以線性方程的解逐步逼近非線性方程的解,這就是Newton法的基本思想。設在零點鄰近一階連
18、續(xù)可微,且,當充分接近時,由Taylor公式有以方程近似方程其解重復以上過程,得迭代公式Newton法也是一種不動點迭代,其迭代函數(shù)為3、實驗內(nèi)容求下列方程的非零根4、實驗程序及結(jié)果分析采用牛頓法對該非線性方程進行求解,而本函數(shù)f(x)為奇函數(shù),為了使得牛頓迭代公式初始值比較靠近該方程的非零根,應該確定該方程非零根的大概范圍。故首先用Matlab畫圖指令畫出該函數(shù)的曲線圖。 因注意到513-0.6651x>0,則可知|x|<771.3126.故有以下繪圖代碼:>> x=-770:770>> y=log(513+0.6651*x)./(513-0.6651*x)-x/(1400*0.0918);>> plot(x,y)>> grid得出函數(shù)圖如下:由上圖可以很明顯看出,原方程有一個零根,兩個關(guān)于原點對稱的非零實根。由圖估測原方程的正實根的x坐標值在770附近。并且經(jīng)驗證f(770)=1.0771>0,而f(760)= -1.0055<0。所
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 急腹癥護理課件
- 鉆具租賃合同模板(2篇)
- 閱讀館合伙人合同(2篇)
- 認識平行 課件
- 輸尿管超聲課件
- 幼兒園小班音樂《大樹媽媽》教案
- 西京學院《網(wǎng)頁設計與制作》2022-2023學年期末試卷
- 幼兒園語言教育中的談話活動第5章
- 西京學院《單片機原理及應用實驗》2022-2023學年期末試卷
- 西華師范大學《中學教研活動組織指導》2023-2024學年第一學期期末試卷
- 醫(yī)院數(shù)字化建設的智能監(jiān)護與預警系統(tǒng)
- 移植物抗宿主病科普講座課件
- 俯臥位通氣清醒病人護理課件
- 鄉(xiāng)鎮(zhèn)普法知識講座
- 《工業(yè)控制系統(tǒng)》課件
- 常用降壓藥的分類和代表藥及使用注意事項課件
- 網(wǎng)絡營銷基礎(chǔ)策略與工具第3版何曉兵課后參考答案
- 水利水電工程概論課件
- 《營養(yǎng)衛(wèi)生》-《烹飪中減少營養(yǎng)素損失的措施》
- 火鍋店盈利模式分析報告
- 《華為集團介紹》課件
評論
0/150
提交評論