計(jì)算方法b上機(jī)報(bào)告_第1頁
計(jì)算方法b上機(jī)報(bào)告_第2頁
計(jì)算方法b上機(jī)報(bào)告_第3頁
計(jì)算方法b上機(jī)報(bào)告_第4頁
計(jì)算方法b上機(jī)報(bào)告_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、計(jì)算方法B上機(jī)實(shí)習(xí)報(bào)告 計(jì)算方法B上機(jī)實(shí)習(xí)報(bào)告1.對以下和式計(jì)算:,要求:(1)假設(shè)只需保存11個(gè)有效數(shù)字,該如何進(jìn)行計(jì)算;(2)假設(shè)要保存30個(gè)有效數(shù)字,那么又將如何進(jìn)行計(jì)算;問題分析: 在該題中S的每一項(xiàng)存在兩個(gè)相近的數(shù)相減的問題,因此為了防止有效數(shù)字損失,最好是改變運(yùn)算順序,分別將正數(shù)和負(fù)數(shù)相加,然后再將其和相加。另外,sn中有多個(gè)負(fù)數(shù)相加,可以按照絕對值遞增的順序求和,以減少舍入誤差的影響。同時(shí),為了防止大數(shù)吃小數(shù)的問題,此題先計(jì)算出保存目標(biāo)有效數(shù)字所需要的迭代次數(shù),然后采用倒序相加的方法實(shí)現(xiàn)。程序?qū)崿F(xiàn):clear;clc;m=input(請輸入要保存的有效數(shù)字位數(shù):);s1=0;s2

2、=0;k=0;s=1;%判斷多需要的迭代次數(shù)while s=0.5*10-(m-1) s=4/(16k*(8*k+1)-(2/(16k*(8*k+4)+1/(16k*(8*k+5)+1/(16k*(8*k+6); k=k+1;end%正負(fù)數(shù)分別按照絕對值遞增的順序倒序相加for n=(k-1):-1:0 a1=4/(16n*(8*n+1); a2=2/(16n*(8*n+4); a3=1/(16n*(8*n+5); a4=1/(16n*(8*n+6); s1=a1+s1; s2=a4+a3+a2+s2;end S=s1-s2; S=vpa(S,m)運(yùn)算結(jié)果:總結(jié)心得:在計(jì)算求和問題中,應(yīng)特別注

3、意相近數(shù)相減的問題,這樣會(huì)造成有效數(shù)字災(zāi)難性的損失。另外在兩個(gè)數(shù)量級(jí)相差較大的數(shù)字相加減時(shí),較小數(shù)的有效數(shù)字會(huì)被喪失,因此要按照從小到大的順序相加。在上題計(jì)算中分別對正負(fù)相采用倒序相加,這樣就有效的防止了“大數(shù)吃小數(shù)的問題。2.某通信公司在一次施工中,需要在水面寬度為20米的河溝底部沿直線走向鋪設(shè)一條溝底光纜。在鋪設(shè)光纜之前需要對溝底的地形進(jìn)行初步探測,從而估計(jì)所需光纜的長度,為工程預(yù)算提供依據(jù)。已探測到一組等分點(diǎn)位置的深度數(shù)據(jù)(單位:米)如下表所示:分點(diǎn)0123456深度分點(diǎn)78910111213深度分點(diǎn)14151617181920深度 (1)請用適宜的曲線擬合所測數(shù)據(jù)點(diǎn);(2)預(yù)測所需光纜

4、長度的近似值,并作出鋪設(shè)河底光纜的曲線圖;問題分析:此題的主要目的是對測量數(shù)據(jù)進(jìn)行擬合,同時(shí)對擬合曲線進(jìn)行線積分即可得到河底光纜長度的近似值。由于數(shù)值點(diǎn)較多時(shí),使用拉格朗日差值多項(xiàng)式會(huì)出現(xiàn)龍格現(xiàn)象。為了將所有的數(shù)據(jù)點(diǎn)都用上,采用分段差插法,此題使用三次樣條插值。算法思想:樣條函數(shù)在每個(gè)子區(qū)間上是三次多項(xiàng)式,它的二階導(dǎo)數(shù)必是一次多項(xiàng)式。假設(shè)用 記在 處的二階導(dǎo)數(shù)。那么在區(qū)間 上 式中 1對上式進(jìn)行兩次積分得 2它的一階導(dǎo)數(shù)為 3滿足連續(xù)性條件,即 上式和3式得 4用差商記號(hào),并記 4式可以寫成 方程組可以寫成如下形式 自然樣條插值條件為在估計(jì)河底光纜長度時(shí)使用第一類線積分程序?qū)崿F(xiàn):clear;c

5、lc;x=0:20;y=9.01 8.96 7.96 7.97 8.02 9.05 10.13 11.18 12.26 13.28 13.32 12.61 11.29 10.22 9.15 7.90 7.95 8.86 9.81 10.80 10.93;d=y;plot(x,y,k.,markersize,15)hold on%計(jì)算牛頓二階差商for k=1:2 for i=21:-1:(k+1) d(i)=(d(i)-d(i-1)/(x(i)-x(i-k); endend%假定d的邊界條件,采用自然三次樣條for i=2:20 d(i)=6*d(i+1);endd(1)=0;d(21)=0;

6、%追趕法求解帶狀矩陣的m值a=0.5*ones(1,21);b=2*ones(1,21);c=0.5*ones(1,21);a(1)=0;c(21)=0;u=ones(1,21);u(1)=b(1);r=c;yy(1)=d(1);%追的過程for k=2:21 l(k)=a(k)/u(k-1); u(k)=b(k)-l(k)*r(k-1); yy(k)=d(k)-l(k)*yy(k-1);end%趕的過程m(21)=yy(21)/u(21);for k=20:-1:1 m(k)=(yy(k)-r(k)*m(k+1)/u(k);end%利用插值點(diǎn)畫出擬合曲線k=1;nn=100;xx=linsp

7、ace(0,20,nn);l=0;for j=1:nn for i=2:20 if xx(j)=x(i) k=i; break; else k=i+1; end endh=1;xbar=x(k)-xx(j);xmao=xx(j)-x(k-1);s(j)=(m(k-1)*xbar3/6+m(k)*xmao3/6+(y(k-1)-m(k-1)*h2/6)*xbar+(y(k)-m(k)*h2/6)*xmao)/h;sp(j)=-m(k-1)*(x(k)-xx(j)2/(2*h)+m(k)*(xx(j)-x(k-1)2/(2*h)+(y(k)-y(k-1)/h-(m(k)-m(k-1)*h/6;l(

8、j+1)=(1+sp(j)2)0.5*(20/nn)+l(j);%利用第一類線積分求河底光纜的長度 end%繪圖plot(xx,s,r-,linewidth,1.5)griddisp(所需光纜長度為,num2str(l(nn+1),米)運(yùn)行結(jié)果:總結(jié)心得:采用三次樣條插值對數(shù)據(jù)進(jìn)行擬合時(shí),可以有效防止龍格現(xiàn)象。在此題的計(jì)算中采用自然三次樣條函數(shù)的邊界條件。在解線性方程組時(shí)使用了追趕法求解帶狀矩陣,在求解三對角矩陣時(shí)追趕法計(jì)算速度快,是一種求解線性方程組的有效手段。在估計(jì)河底光纜長度時(shí)使用第一類線積分。此題計(jì)算中間變量非常多,在調(diào)試的過程中遇到了一些麻煩,這更加使我認(rèn)識(shí)到在編程的過程中由不得一點(diǎn)

9、兒馬虎,在下面問題的處理中我變得更加小心。3.假定某天的氣溫變化記錄如下表所示,試用數(shù)據(jù)擬合的方法找出這一天的氣溫變化的規(guī)律;試計(jì)算這一天的平均氣溫,并試估計(jì)誤差。時(shí)刻0123456789101112平均氣溫15141414141516182020232528時(shí)刻131415161718192021222324平均氣溫313431292725242220181716問題分析:對一天的氣溫進(jìn)行數(shù)據(jù)擬合,可以考慮使用最小二乘的二次函數(shù)、三次函數(shù)、四次函數(shù)以及指數(shù)函數(shù)。問題的難度是求解各種擬合函數(shù)的系數(shù)。利用法方程求解最小二乘系數(shù)時(shí),方程的解不夠穩(wěn)定,此題利用正交化方法。程序?qū)崿F(xiàn):clear;clc

10、;x=0:24;y=15 14 14 14 14 15 16 18 20 20 23 25 28 31 34 31 29 27 25 24 22 20 18 17 16;m=length(x);n=input(請輸入函數(shù)的次數(shù) );plot(x,y,k.,x,y,-)grid;hold on;n=n+1;G=zeros(m,n+1);G(:,n+1)=y;c=zeros(1,n);%建立c來存放q=0;f=0;b=zeros(1,m);%建立b用來存放%形成矩陣Gfor j=1:n for i=1:m G(i,j)=x(1,i)(j-1); endend%建立矩陣Qkfor k=1:n for

11、 i=k:m c(k)=G(i,k)2+c(k); end c(k)=-sign(G(k,k)*(c(k)0.5); w(k)=G(k,k)-c(k);%建立w來存放 for j=k+1:m w(j)=G(j,k); end b(k)=c(k)*w(k); %變換矩陣Gk-1到Gk G(k,k)=c(k); for j=k+1:n+1 q=0; for i=k:m q=w(i)*G(i,j)+q; end s=q/b(k); for i=k:m G(i,j)=s*w(i)+G(i,j); end endend%求解三角方程 Rx=h1a(n)=G(n,n+1)/G(n,n); for i=n-

12、1:(-1):1 for j=i+1:n f=G(i,j)*a(j)+f; end a(i)=(G(i,n+1)-f)/G(i,i); %ai存放各級(jí)系數(shù) f=0; end a%擬合后的回代過程 p=zeros(1,m); for j=1:m for i=1:n p(j)=p(j)+a(i)*x(j)(i-1); end end plot(x,p,r*,x,p,-); E2=0;%用E2來存放誤差%誤差求解for i=n+1:m E2=G(i,n+1)2+E2;endE2=E20.5;disp(誤差為);disp(E2);t=0for i=1:m t=t+p(i);endt=t/m; %平均溫

13、度disp(平均溫度為,num2str(t),) 運(yùn)行結(jié)果:二次函數(shù)時(shí),系數(shù)a1=8.3063,a2=2.6064,a3=-。誤差為,平均溫度為。函數(shù)形式為 三次函數(shù)時(shí),系數(shù),誤差為,平均溫度為。函數(shù)形式 四次函數(shù)時(shí),系數(shù)a1=16.7939,a2=-3.7050,a3=0.8909,a4=-0.0532,a5=0.0009,誤差為,平均溫度為。函數(shù)形式為 當(dāng)為指數(shù)函數(shù)時(shí),假定指數(shù)函數(shù)的形式為 。只需將y值求對數(shù),其主體局部不變,求得的系數(shù)為a1=2.3835,a2=0.1251,a3=-0.0044,誤差為,平均溫度為。函數(shù)形式為 四種函數(shù)圖像的比照:紅色表示指數(shù)函數(shù),綠色表示二次函數(shù),青色

14、表示三次函數(shù),紫色表示四次函數(shù),藍(lán)色的折線表示數(shù)據(jù)點(diǎn)。總結(jié)心得:同上面的結(jié)果可以看出,隨著次數(shù)的增加誤差在逐漸減小,擬合曲線也更加接近數(shù)據(jù)點(diǎn)。因此,在使用最小二乘進(jìn)行數(shù)據(jù)擬合時(shí)應(yīng)盡量使用較高次數(shù)的擬合函數(shù)。通過比照圖像,可以發(fā)現(xiàn)二次函數(shù)和指數(shù)型二次函數(shù)圖像比擬接近,那是因?yàn)橹笖?shù)型二次函數(shù)是對數(shù)據(jù)點(diǎn)求對數(shù)進(jìn)行擬合的,因此二者比擬接近。給定的數(shù)據(jù)點(diǎn)在中間的位置時(shí)波動(dòng)較大,造成了擬合曲線的誤差也較大,但并沒有影響到整體的規(guī)律。在進(jìn)行最小二次編程中,使用正交化方法中間變量較多容易造成混亂,計(jì)算量也較大,但是比使用法方程方法更穩(wěn)定。此題在編程過程中有一定的適用性,只需要對數(shù)據(jù)點(diǎn)進(jìn)行更改就可以擬合出給定次

15、數(shù)的多項(xiàng)式,為以后的數(shù)據(jù)擬合提供了方便。4.設(shè)計(jì)算法,求出非線性方程的所有根,并使誤差不超過。問題分析:此題采用牛頓迭代法計(jì)算方程根。可令 ,其迭代格式為要使牛頓迭代法收斂,那么必須尋找根的合理區(qū)間a,b,使得在該區(qū)間內(nèi),即有根。在選定的區(qū)間內(nèi)函數(shù)的一二階導(dǎo)數(shù)、均不變號(hào)。選定一個(gè)初值,使 那么牛頓迭代法收斂。程序?qū)崿F(xiàn):clear;clc;%觀察根的大致位置a=-10:0.1:10;for i=1:201y(i)=6*a(i)5-45*a(i)2+20;endplot(a,y);grid;k=1;y(202)=0;%使用二分法來確定迭代初值for i=1:201 if y(i)*y(i+1)0 b(k)=a(i); k=k+1; continue endend x=b; n=length(x);%牛頓迭代法計(jì)算方程根dlt=1e-4;for i=1:n for j=1:100 X(i,j)=x(i)-(6*x(i)5-45*x(i)2+20)/(30*x(i)4-90*x(i); c=abs(X(i,j)-x(i); if cabs

溫馨提示

  • 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)論