數(shù)值分析上機(jī)作業(yè)匯總_第1頁
數(shù)值分析上機(jī)作業(yè)匯總_第2頁
數(shù)值分析上機(jī)作業(yè)匯總_第3頁
數(shù)值分析上機(jī)作業(yè)匯總_第4頁
數(shù)值分析上機(jī)作業(yè)匯總_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

數(shù)值分析上機(jī)報(bào)告院系:學(xué)號(hào):姓名:目錄作業(yè)1、舍入誤差與有效數(shù) 11、函數(shù)文件cxdd.m 12、函數(shù)文件cddx.m 13、兩種方法有效位數(shù)對比 14、心得 2作業(yè)2、Newton迭代法 21、通用程序函數(shù)文件 22、局部收斂性 3(1)最大δ值文件 3(2)驗(yàn)證局部收斂性 43、心得 5作業(yè)3、列主元素Gauss消去法 61、列主元Gauss消去法的通用程序 62、解題中線性方程組 73、心得 8作業(yè)4、三次樣條插值函數(shù) 81、第一型三次樣條插值函數(shù)通用程序: 82、數(shù)據(jù)輸入及計(jì)算結(jié)果 10作業(yè)1、舍入誤差與有效數(shù)設(shè),其精確值為.編制按從小到大的順序,計(jì)算的通用程序;編制按從大到小的順序,計(jì)算的通用程序;按兩種順序分別計(jì)算,并指出有效位數(shù);通過本上機(jī)你明白了什么?程序:1、函數(shù)文件cxdd.mfunctionS=cxdd(N)S=0;i=2.0;while(i<=N) S=S+1.0/(i*i-1);i=i+1;endscript運(yùn)行結(jié)果(省略>>):S=cxdd(80)S=0.7375772、函數(shù)文件cddx.mfunctionS=cddx(N)S=0;fori=N:-1:2S=S+1/(i*i-1);endscript運(yùn)行結(jié)果(省略>>):S=cddx(80)S=0.7375773、兩種方法有效位數(shù)對比精確值函數(shù):functionS=jqz(N)S=0.5*(1.5-1.0/N-1.0/(N+1));script運(yùn)行結(jié)果(省略>>)NS精確值從小到大從大到小值有效位數(shù)值有效位數(shù)1000.7400500.74005060.7400496100000.7499000.74990040.749852410000000.7499990.74999960.74985234、心得本題重點(diǎn)體現(xiàn)了數(shù)值計(jì)算中“大數(shù)吃小數(shù)”的問題,由于計(jì)算機(jī)計(jì)算的截?cái)嗵攸c(diǎn),從大到小的計(jì)算會(huì)導(dǎo)致小數(shù)的有效數(shù)被忽略掉。從題中可以看出,看出按不同的順序計(jì)算的結(jié)果是不相同的,按從小到大的順序計(jì)算的值與精確值吻合,而按從大到小的順序計(jì)算的值與精確值有較大的誤差。計(jì)算機(jī)在進(jìn)行數(shù)值計(jì)算時(shí)會(huì)出現(xiàn)“大數(shù)吃小數(shù)”的現(xiàn)象,導(dǎo)致計(jì)算結(jié)果的精度有所降低。作業(yè)2、Newton迭代法給定初值x0及容許誤差ε,編制Newton法解方程f(x)=0根的通用程序。給定方程f(x)=x3/3-x=0,易知其有三個(gè)根x1※=,x2※=0,x3※=。=1\*GB3①由Newton方法的局部收斂性可知存在>0,當(dāng)x0∈(,),Newton迭代序列收斂于根x2※,試確定盡可能大的;②試取若干個(gè)初始值,觀察當(dāng)x0∈(-∞,-1),(-1,),(,),(,1),(1,+∞)時(shí),Newton序列是否收斂以及收斂于哪一個(gè)根。通過本上機(jī)題,你明白了什么?1、通用程序函數(shù)文件定義f(x)函數(shù)functionf=fun(x)f=x^3/3-x;end定義f(x)導(dǎo)函數(shù)functionf=dfun(x)f=x*x-1;end定義求近似解函數(shù) function[f,n]=newton(x0,ep)flag=1;n=0;while(flag==1)x1=x0-fun(x0)/dfun(x0);n=n+1;if(abs(x1-x0)<=ep||n>100000)flag=0;endx0=x1;endf=x1;endscript運(yùn)行結(jié)果clear;

x0=input('請輸入初始值x0:');

ep=input('請輸入容許誤差:');

[f,n]=newton(x0,ep);fprintf('方程的一個(gè)近似解為:%f\n',x1);

2、局部收斂性(1)最大δ值文件flag=1;k=1;x0=0;whileflag==1sigma=k*10^-6;x0=sigma;k=k+1;m=0;flag1=1;whileflag1==1&&m<=10^3x1=x0-fun(x0)/dfun(x0);ifabs(x1-x0)<10^-6flag1=0;endm=m+1;x0=x1;endif(flag1==1||abs(x0)>=10^-6)flag=0;endendfprintf('最大值為:%f\n',sigma);運(yùn)行結(jié)果為:最大值為:0.774597即得最大的δ為0.774597,Newton迭代序列收斂于根=0的最大區(qū)間為(-0.774597,0.774597)。(2)驗(yàn)證局部收斂性在x0∈(-∞,-1)區(qū)間,取以下初值,分別調(diào)用newton.m函數(shù)文件,得到結(jié)果如下:X0X1迭代次數(shù)-100-1.73205115-20-1.73205111-5-1.7320518-1.5-1.7320515結(jié)果顯示,以上初值迭代序列均收斂于-1.732051,即根。顯然,迭代格式初值的選擇對于迭代的收斂速度是至關(guān)重要的,當(dāng)初值接近真實(shí)值的時(shí)候,迭代次數(shù)減少。在x0∈(-1,)區(qū)間,取以下初值,分別調(diào)用newton.m函數(shù)文件,得到結(jié)果如下:X0X1迭代次數(shù)-0.951.7320519-0.851.7320516-0.801.73205110-0.781.73205115計(jì)算結(jié)果顯示,迭代序列局部收斂于1.730251,即根。在x0∈(,)區(qū)間,取以下初值,分別調(diào)用newton.m函數(shù)文件,得到結(jié)果如下:X0X1迭代次數(shù)-0.700.0000005-0.200.0000003-0.050.00000030.050.00000030.200.00000030.700.0000005由newton1.m的運(yùn)行過程表明,在整個(gè)區(qū)間上均收斂于0,即根。在x0∈(,1)區(qū)間,取以下初值,分別調(diào)用newton.m函數(shù)文件,得到結(jié)果如下:X0X1迭代次數(shù)0.80-1.732051100.90-1.73205170.95-1.73205190.98-1.73205112計(jì)算結(jié)果顯示,迭代序列局部收斂于-1.732051,即根。在x0∈(1,+∞)區(qū)間,取以下初值,分別調(diào)用newton.m函數(shù)文件,得到結(jié)果如下:X0X1迭代次數(shù)1.51.732051551.7320518201.732051111001.73205115結(jié)果顯示,以上初值迭代序列均收斂于1.732051,即根。綜上所述:(-∞,-1)區(qū)間收斂于-1.73205,(-1,δ)區(qū)間局部收斂于1.73205,局部收斂于-1.73205,(-δ,δ)區(qū)間收斂于0,(δ,1)區(qū)間類似于(-1,δ)區(qū)間,(1,∞)收斂于1.73205。3、心得牛頓迭代法對于初值的選擇要求較高,因此,在牛頓迭代時(shí)可現(xiàn)通過簡單迭代法尋找相對準(zhǔn)確一些的值來進(jìn)行牛頓迭代。對于方程有多解的問題,Newton法求方程根時(shí),牛頓迭代要考慮局部收斂的問題,迭代序列收斂于某一個(gè)根有一定的區(qū)間限制,在一個(gè)區(qū)間上,可能會(huì)局部收斂于不同的根。作業(yè)3、列主元素Gauss消去法對于某電路的分析,歸結(jié)為求解線性方程組RI=V。32-13000-10000-1335-90-1100000-931-1000000R=000-3057-70-500000-747-300000000-3041000000-50027-2000-9000-229VT=[-15,27,-23,0,-20,12,-7,7,10]T編制解n階線性方程組Ax=b的列主元Gauss消去法的通用程序;用所編程序解線性方程組RI=V,并打印出解向量,保留5位有效數(shù)字;在本編程之中,你提高了那些編程能力。1、列主元Gauss消去法的通用程序函數(shù):找每列的主元的函數(shù)functionB=zhuyuan(B,t,N,M)fori=0:N-1-tifB(N-i,t)>B(N-i-1,t)c=zeros(1,M);forj=1:Mc(j)=B(N-i,j);B(N-i,j)=B(N-i-1,j);B(N-i-1,j)=c(j);endendend進(jìn)行列消去的函數(shù)functionB=xiaoqu(B,t,N,M)fori=t+1:Nl=B(i,t)/B(t,t);forj=t:MB(i,j)=B(i,j)-l*B(t,j);endend進(jìn)行三角矩陣下的解函數(shù)functionX=jie(X,B,N,M)fori=1:N-1s=B(N-i,M);forj=N-i+1:Ns=s-B(N-i,j)*X(j);endX(N-i)=s/B(N-i,N-i);end執(zhí)行主程序:N=input('請輸入線性方程組的階數(shù):N=');M=input('請輸入增廣矩陣階數(shù):M=');b=zeros(1,N);A=zeros(N,N);A=input('請輸入系數(shù)矩陣:');b(1,:)=input('請輸入方程組的右端向量:');b=b';B=[A,b];fort=1:N-1B=zhuyuan(B,t,N,M);B=xiaoqu(B,t,N,M);endX=zeros(N,1);X(N)=B(N,M)/B(N,N);X=jie(X,B,N,M);X2、解題中線性方程組執(zhí)行程序,輸入矩陣A(即題中的矩陣R)和列向量b(即題中的V),如下:請輸入線性方程組的階數(shù):n=9請輸入增廣矩陣階數(shù):m=10請輸入系數(shù)矩陣A:A=[31,-13,0,0,0,-10,0,0,0,-15;-13,35,-9,0,-11,0,0,0,0,27;0,-9,31,-10,0,0,0,0,0,-23;0,0,-10,79,-30,0,0,0,-9,0;0,0,0,-30,57,-7,0,-5,0,-20;0,0,0,0,-7,47,-30,0,0,12;0,0,0,0,0,-30,41,0,0,-7;0,0,0,0,-5,0,0,27,-2,7;0,0,0,-9,0,0,0,-2,29,10];請輸入方程組的右端向量b:[-1527-230-2012-7710]得到如下結(jié)果:A=31-13000-10000-15-1335-90-110000270-931-1000000-2300-1079-30000-90000-3057-70-50-200000-747-30001200000-304100-70000-50027-27000-9000-22910x=-0.289230.34544-0.71281-0.22061-0.430400.15431-0.0578230.201050.290233、心得列主元Gauss最重要的就是如何通過找到最大主元,并交換行,如何進(jìn)行消去,這需要很細(xì)心的循環(huán),和很復(fù)雜的嵌套,通過本題的編程,感覺個(gè)人對于這種多層嵌套循環(huán)的處理能力提高了很多。通過對軟件的編程,也更加理解了Gauss消去法的實(shí)質(zhì)。作業(yè)4、三次樣條插值函數(shù)編制求第一型3次樣條插值函數(shù)的通用程序;已知汽車門曲線型值點(diǎn)的數(shù)據(jù)如下:i012345678910xi012345678910yi2.513.34.044.75.225.545.785.45.575.75.8端點(diǎn)條件為=0.8,=0.2,用所編程序求車門的3次樣條差值函數(shù)S(x),并打印出S(i+0.5),i=0,1······9。1、第一型三次樣條插值函數(shù)通用程序:n=input('請輸入節(jié)點(diǎn)數(shù)n:');n=n+1;xn=zeros(1,n);yn=zeros(1,n);xn(1,:)=input('請輸入X的值:');yn(1,:)=input('請輸入Y的值:');dy0=input('請輸入邊界條件y(0):'); dyn=input('請輸入邊界條件y(n):');d=zeros(n,1); h=zeros(1,n-1);f1=zeros(1,n-1);f2=zeros(1,n-2);fori=1:n-1h(i)=xn(i+1)-xn(i); %求一階差商f1(i)=(yn(i+1)-yn(i))/h(i);endfori=2:n-1f2(i)=(f1(i)-f1(i-1))/(xn(i+1)-xn(i-1)); %求二階差商d(i)=6*f2(i);endd(1)=6*(f1(1)-dy0)/h(1);d(n)=6*(dyn-f1(n-1))/h(n-1);A=zeros(n);%求M值u=zeros(1,n-2);r=zeros(1,n-2);fori=1:n-2u(i)=h(i)/(h(i)+h(i+1));r(i)=1-u(i);endA(1,2)=1;A(n,n-1)=1;fori=1:nA(i,i)=2;endfori=2:n-1A(i,i-1)=u(i-1);A(i,i+1)=r(i-1);endM=A\d; symsx fori=1:n-1 %求節(jié)點(diǎn)插值Sx(i)=collect(yn(i)+(f1(i)-(M(i)/3+M(i+1)/6)*h(i))*(x-xn(i))+M(i)/2*(x-xn(i))^2+(M(i+1)-M(i))/(6*h(i))*(x-xn(i))^3);Sx(i)=vpa(Sx(i),4);endS=zeros(1,n-1);fori=1:n-1x=xn(i)+0.5;S(i)=yn(i)+(f1(i)-(M(i)/3+M(i+1)/6)*h(i))*(x-xn(i))+M(i)/2*(x-xn(i))^2+(M(i+1)-M(i))/(6*h(i))*(x-xn(i))^3;enddisp('S(x)='); %結(jié)果輸出fori=1:n-1fprintf('%s(%d,%d)\n',char(Sx(i)),xn(i),xn(i+1));disp('··············································');enddisp('S(i+0.5)');disp('ix(i+0.5)S(i+0.5)')fori=1:n-1fprintf('%d%.4f%.4f\n',i,xn(i)+0.5,S(i))end2、數(shù)據(jù)輸入及計(jì)算結(jié)果請輸入節(jié)點(diǎn)數(shù)n:10請輸入X的值:[012345678910]請輸入Y的值:[2.513.304.044.705.225.545.785.405.575.705.80]請輸入邊界條件y(0):0.8請輸入邊界條件y(n):0.2S(x)=-0.008514*x^3-0.001486*x^2+0.8*x+2.51(0,1)·············································-0.0044579*x^3-0.013654*x^2+0.81217*x+2.5059(1,2)·············································-0.0036544*x^3-0.018475*x^2+0.82181*x+2.4995(2,3)·············································-0.040924*x^3+0.31696*x^2-0.18448*x+3.5058(3,4)

溫馨提示

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

評(píng)論

0/150

提交評(píng)論