數(shù)值計算報告講解_第1頁
數(shù)值計算報告講解_第2頁
數(shù)值計算報告講解_第3頁
數(shù)值計算報告講解_第4頁
數(shù)值計算報告講解_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、數(shù)值計算題目名稱數(shù)值計算學 院機電工程學院專業(yè)班級 13微電子制造2班學 號 3113000453姓 名肖鎧斌2016-12-30學習數(shù)值計算引論,應用MATLA編寫Gauss列主元消元法求解線性方程 組、多項式插值、Gauss積分方法、Euler方法求常微分方程初值問題、Newton 迭代法求非線性方程的程序。【關(guān)鍵詞】:Gauss列主元消元法求解線性方程組、多項式插值、Gauss 積分方法、Euler方法求常微分方程初值問題、Newt on迭代法求非線性方程目錄1 Gauss列主元消元法求解線性方程組錯誤!未定義書簽。1.1問題描述錯誤!未定義書簽。1.2計算程序錯誤!未定義書簽。1.3算

2、例22 Lagrange 多項式插值32.1問題描述32.2計算程序32.3算例33 Gauss積分方法 43.1 .問題描述43.2計算程序43.3算例44 Euler方法求常微分方程初值問題 54.1 .問題描述54.2計算程序44.3算例45Newton迭代法求非線性方程65.1 .冋題描述65.2計算程序65.3算例7參考文獻8B的秩,并作比較)生成全零矩陣%返回行向量丫和j ,y向量記錄abs(B(p:n,p)的每列的最大值,j向量記錄每列最大值的行號把矩陣B中第p行所有列的值全都賦給矩陣C交換A,b 第jk與第k行元素消元計算從n-1循環(huán)到1、編寫Gauss列主元消元法求解線性方程

3、組的程序,要求附有算例1 、問題描述:計算機中運算的時候常會碰到兩個問題。1 )一旦遇到某個主元等于0,消元過程便無法進行下去。2 )在長期使用中還發(fā)現(xiàn),即使消元過程能進行下去,但是當某個 主元的絕對值很小時,求解出的結(jié)果與真實結(jié)果相差甚遠。2、程序:%輸岀的量:系數(shù)矩陣和增廣矩陣的秩RA,RB,方程組中未知量的個數(shù)n和有關(guān)方程組解及其解X的信息.fun ctionRA,RB, n, X=gaus(A,b)B=A b; n=le ngth(b);RA=ra nk(A);RB=ra nk(B);zhica=RB-RA;%求矩陣 A、if zhica0,disp( RA=RB,此方程組無解.)re

4、turnendif RA=RBif RA=ndisp( RA=RB=n,此方程組有唯一解 .X=zeros( n,1); C=zeros(1, n+1);%for p= 1:n-1Y,j=max(abs(B(p: n,p);C=B(p,:);%B(p,:)= B(j+p-1,:);B(j+p-1,:)=C;%fork=p+1: nm= B(k,p)/B(p,p);%B(k,p: n+1)= B(k,p: n+1)_m* B(p,p: n+1);endendb=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)=(

5、b(q)-sum(A(q,q+1: n)*X(q+1: n)/A(q,q); %回代計算endelsedisp(RA=RB A=5 2 1;2 8 -3;1 -3 -6;b=8;21;1;RA,RB, n,X =gaus (A,b)RA=RB=n此方程組有唯一解RA =3RB =3n =3X =12-1二 編寫多項式插值的程序,要求附有算例1、問題描述:Lagrange差值法滿足插值條件的、次數(shù)不超過n的多項式是存在而且是唯一的。2、程序:fun cti onyy=lagra nge(x,y,xO) /xle n=len gth(x);/Xyle n=len gth(y);/yif xle n

6、=yle n定義拉格朗日差值函數(shù)向量的維數(shù)向量的維數(shù)war ning(The len gth of x and y is not equa l);/ 提示x.y維數(shù)不等endn=len gth(xO);for i=1: n /循環(huán)。從1到nz=x0(i);s=0.0;for k=1:xle np=1.0;for j=1:yle nif j=kp=p*(z-x(j)/(x(k)-x(j);endends=p*y(k)+s;endyy(i)=s;end3、算例:已知數(shù)據(jù)如下表,試用lagrange差值多項式求x分別為0.5626;0.5635;0.5645 時函數(shù)的近似值。X0.561600.56

7、2800.564010.56521yi0.827410.826590.825770.81495解:在命令窗口輸入執(zhí)行命令,可得結(jié)果: x=0.56160;0.56280;0.56401;0.56521;y=0.82741;0.82659;0.82577;0.81495;x0=0.5626;0.5635;0.5645;yO=lagra nge(x,y,x0)y0 = 0.82650.82680.8231 plot(x,y,o,x0,y0,k)得到圖形三編寫Gauss積分方法的程序,要求附有算例。1 、問題描述:被積分函數(shù)f( E, n , Z )一般是很復雜的,即使能 夠得出它的顯式,其積分也是

8、很繁的。因此,一般用數(shù)值積分來代替函數(shù)的定 積分。2 、程序:% f :積分表達式,可以是函數(shù)句柄、inline函數(shù)、匿名函數(shù)、字符串表達式,但是必須可以接受矢量輸入%a,b :積分上下限,注意積分區(qū)間太大會降低精度,此時建議使用復化求積公式,默認-1 1% n :積分階數(shù),可以任意正整數(shù),但是不建議設置過大,大不一定能得到更好的精度,默認7% tol :積分精度,默認 1e-6% ql :積分結(jié)果% Ak :求積系數(shù)% xk :求積節(jié)點,滿足 ql=sum(Ak.*fun(xk)fun cti onql,Ak,xk=guass(f,a,b ,n ,tol)if nargi n=1%輸入?yún)?shù)有

9、效性檢驗a=-1;b=1; n=7;tol=1e-8;elseif nargin=3n=7;tol=1e-8;elseifnargin=4tol=1e-8;elseifnargin=2|nargin5);error( The Number of In put Argume nts Is Wrong! endsyms x%計算求積節(jié)點p=sym2poly(diff(xA2-1F( n+1), n+1)/(2A n*factorial( n); tk=roots(p);% 求積節(jié)點Ak=zeros( n+1,1);%計算求積系數(shù)for i=1: n+1xkt=tk;xkt(i)=;pn=poly(

10、xkt);fp=(x)polyval(p n, x)/polyval(p n,tk(i);Ak(i)=quadl(fp,-1,1,tol); end%求積系數(shù)xk=(b-a)/2*tk+(b+a)/2;f=fcn chk(f,vectorizefx=f(xk)*(b-a)/2;ql=sum(Ak.*fx);% 積分變量代換,將a,b 變換到-1,1 );%檢驗積分函數(shù)fun有效性%計算變量代換之后積分函數(shù)的值%計算積分值3、算例,求1艾0cos(x)的值。編寫函數(shù)文件:Gaussf.mfun cti onf=gaussf(x)f=cos(x);End在命令窗口輸入: ql,Ak,xk=guas

11、s(gaussf, 0,1, 7, 1e-6) ql =0.8415Ak =0.10120.22240.10120.22240.31370.31370.36270.3627 xk =0.01990.10170.98010.89830.23720.76280.40830.5917四編寫Euler方法求常微分方程初值問題的程序,要求附有算例1、問題描述:歐拉法的特點:單步,顯式,一階求導精度,截斷誤差貳階2、程序:歐拉公式:廣yhfQyi)Euler.mfun cti onxx,yy=euler(f,a,b,y0,h)x=a:h:bn=len gth(x);y=zeros(1, n);y(1)=y

12、0;for i=1: n-1;y(i+1)=y(i)+h*feval(f,x(i),y(i);endxx=x;yy=y;plot(xx,yy, rp)xlabel(In depe ndent Variable x),ylabel( Depe ndent Variable y)ti tle(Solution of ODE with modified euler method)3、算例:用歐拉方法解初值問題2 2V =1y 0 乞 X 豈1hx y,取 h=0.1.y(0) =0解:建立函數(shù)文件myfu n.mfun cti onf=myfu n(x,y)f=1+xA2+yA2End在窗口輸入命令

13、:x y=euler(myfu n,0,1,0,0.1)x =00.10000.20000.30000.40000.50000.60000.70000.80000.90001.0000y =00.10000.20200.31010.42870.56310.71980.90761.13901.43271.8189所得圖形:改進后的歐拉公式% 廠 yi hfk y% 廠 Ef(x %)f(x1 %丿fun cti onxx,yy=euler(f,a,b,yO,h) x=a:h:b n=len gth(x);y=zeros(1, n);y(i)=y0;for i=1: n-1;yp=y(i)+h*f

14、eval(f,x(i),y(i); yc=y(i)+h*feval(f,x(i+1),yp); y(i+1)=(yp+yc)/2;end xx=x;yy=y;ey=-1./xplot(xx,yy, rp)嚴 Q-qEElllvPLJ2cl4A1.5fl-xlabel(In depe ndent Variable x),ylabel(Depe ndent Variable y)title(Solution of ODE with modified euler method)在窗口輸入命令:x y=euler(myfu n,0,1,0,0.1)x =00.10000.20000.30000.400

15、00.50000.60000.70000.80000.90001.0000y =00.10100.20610.31960.44690.59430.77100.98991.27191.6529 2.2020U figure 1F-|Ra|文林(E)爲窯舊 查看世)l&AW桌園助 菌口凹鼻W目 0Solution of ODE wrth mrodifed euler method2.5Qi e-0.10 203040 50 60.708091Independent VanaUe x五編寫Newt on迭代法求非線性方程的程序,要求附有算例1、問題描述:構(gòu)造迭代函數(shù)的一條重要途徑是用近似方程來代替原

16、方程去求根。因此,如果能將非線性方程 f x =0用線性方程去代替,那么, 求近似根問題就很容易解決,而且十分方便。牛頓(Newton)法就是一種將非線性 方程線化的一種方法、程序:Newto n.m%y=n ewt on(a,n,xO,nn, epsi)輸入變量:%a n+1元素的一維實數(shù)組,輸入?yún)?shù),按升幕存放方程系數(shù)。%n整變量,輸入?yún)?shù),方程階數(shù)。%x0實變量,輸入?yún)?shù),初始迭代值。%nn整變量,輸入?yún)?shù),允許的最大迭代次數(shù)。%eps1實變量,輸入?yún)?shù),控制根的精度。fun cti ony=n ewt on(a,n,xO,nn, epsi)x(1)=x0;%初始向量b=1;i=1;while (abs(b)eps1*x(i)%abs(b)取模,判斷i=i+1;x(i)=x(i-1)-n_f(a, n,x(i-1)/n_df(a, n,x(i-1);%xx-J(xr1)fF(xiJ)b=x(i)-x(i-1);if (inn)error( nn is full);return ;endendy=x(i);i程序中調(diào)兩個子函數(shù)n_f.m和n_df.m文件如下:function y=n_f(a,n,x)%待求根的實數(shù)代數(shù)方程的函數(shù)y=0.0;fori=1:( n+1)y=y+a(i)*xA( n+1-i);endn _df.m:fu

溫馨提示

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

評論

0/150

提交評論