東南大學(xué)數(shù)值分析上機(jī)報告_第1頁
東南大學(xué)數(shù)值分析上機(jī)報告_第2頁
東南大學(xué)數(shù)值分析上機(jī)報告_第3頁
東南大學(xué)數(shù)值分析上機(jī)報告_第4頁
東南大學(xué)數(shù)值分析上機(jī)報告_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、數(shù)值分析上機(jī)實驗報告目錄1.chapter1 舍入誤差及有效數(shù). 22.chapter2newton 迭代法 . 33.chapter3 線性代數(shù)方程組數(shù)值解法-列主元 gauss消去法 . 74.chapter3 線性代數(shù)方程組數(shù)值解法-逐次超松弛迭代法. 95.chapter4 多項式插值與函數(shù)最佳逼近 . 101.chapter1 舍入誤差及有效數(shù)1.1 題目設(shè)s?= 1?2-1?=2,其精確值為)11123(21nn。(1)編制按從大到小的順序11131121222nsn,計算 sn的通用程序。(2)編制按從小到大的順序1211) 1(111222nnsn,計算sn的通用程序。(3)按

2、兩種順序分別計算64210,10,10sss,并指出有效位數(shù)。 (編制程序時用單精度)(4)通過本次上機(jī)題,你明白了什么?1.2 編寫相應(yīng)的matlab 程序clear; n=input(please input n: ); avalue=(3/2-1/n-1/(n+1)/2); sn1=single(0); sn2=single(0); for i=2:n sn1=sn1+1/(i*i-1); %從大到小相加的通用程序%end ep1=abs(sn1-avalue); for j=n:-1:2 sn2=sn2+1/(j*j-1); %從小到大相加的通用程序%end ep2=abs(sn2-a

3、value); fprintf( 精確值為 :%fn ,avalue); fprintf( 從大到小的順序累加得sn=%fn,sn1); fprintf( 從大到小相加的誤差ep1=%fn ,ep1); fprintf( 從小到大的順序累加得sn=%fn,sn2); fprintf( 從小到大相加的誤差ep2=%fn ,ep2); disp(= ); 1.3matlab 運(yùn)行程序結(jié)果 chaper1please input n:100精確值為 :0.740050從大到小的順序累加得sn=0.740049從大到小相加的誤差ep1=0.000001從小到大的順序累加得sn=0.740050從小到大

4、相加的誤差ep2=0.000000 chaper1please input n:10000精確值為 :0.749900從大到小的順序累加得sn=0.749852從大到小相加的誤差ep1=0.000048從小到大的順序累加得sn=0.749900從小到大相加的誤差ep2=0.000000 chaper1please input n:1000000精確值為 :0.749999從大到小的順序累加得sn=0.749852從大到小相加的誤差ep1=0.000147從小到大的順序累加得sn=0.749999從小到大相加的誤差ep2=0.0000001.4 結(jié)果分析以及感悟按照從大到小順序相加的有效位數(shù)為:

5、5,4,3。 按照從小到大順序相加的和的有效位數(shù)為:6,6,6。從程序的輸出誤差結(jié)果可以看出,按照不同的順序相加造成的誤差限是不同的,按照從大到小相加的順序就是一個病態(tài)問題,而按照從小到大順序相加的誤差很小,并且在從大到小順序相加的誤差隨著n 的增大而增大。 因此,采取從小到大的順序累加得到的結(jié)果更加精確。2.chapter2newton迭代法2.1 題目(1)給定初值0 x及容許誤差,編制牛頓法解方程f(x)=0 的通用程序。(2)給定方程03)(3xxxf,易知其有三個根3, 0,3321xxx1由牛頓方法的局部收斂性可知存在,0當(dāng)),(0 x時, newton 迭代序列收斂于根 x2*

6、。試確定盡可能大的 。2試取若干初始值, 觀察當(dāng)), 1(),1 ,(),(), 1(),1,(0 x時 newton 序列的收斂性以及收斂于哪一個根。(3)通過本上機(jī)題,你明白了什么?2.2 編寫相應(yīng)的matlab 程序2.2.1 定義 f(x)函數(shù)function f=fu(x) f=x3/3-x; end2.2.2 定義 f(x)的導(dǎo)函數(shù)function f=dfu(x) f=x*x-1; end2.2.3 求根的通用程序clear; x0=input( 請輸入初始值x0:); ep=input( 請輸入容許誤差:); flag=1; while flag=1 x1=x0-fu(x0)/

7、dfu(x0); if abs(x1-x0)=ep flag=0; endx0=x1; endfprintf( 方程的一個近似解為:%fn ,x0); 2.2.4 求 sigma 的通用程序clear; eps=input(請輸入搜索精度:); ep=input( 請輸入容許誤差:); flag=1; k=0; x0=0; while flag=1; sigma=k*eps; x0=sigma; k=k+1; m=0; flag1=1; while flag1=1&m=103 x1=x0-fu(x0)/dfu(x0); if abs(x1-x0)=ep flag=0; endendfp

8、rintf( 最大的 sigma值為: %fn ,sigma); 2.3運(yùn)行結(jié)果2.3.1尋找最大的 sigma值主要是在 0的基礎(chǔ)上,不斷的增加步長,帶入newton 公式,驗證該值是否收斂于0,不斷的循環(huán),最后得到最小的不收斂于0的sigma值,此時也為最大滿足收斂于0的最大的sigma值。改變不同的步長,分別得到不同的sigma值,取其中的最小值,即為滿足條件的最大的 sigma值。程序相應(yīng)的運(yùn)行結(jié)果如下: chapter2_2 請輸入搜索精度:10-6 請輸入容許誤差:10-6 最大的 sigma值為: 0.774597 chapter2_2 請輸入搜索精度:10-4 請輸入容許誤差:

9、10-6 最大的 sigma值為: 0.774600 chapter2_2 請輸入搜索精度:10-2 請輸入容許誤差:10-6 最大的 sigma值為: 0.780000 2.3.2運(yùn)行 chapter2_1程序(1)當(dāng)初值 x0屬于( - , - 1)內(nèi)時,程序運(yùn)行結(jié)果如下, chaper2_1 請輸入初始值 x0:-10000 請輸入容許誤差:10-6 方程的一個近似解為:-1.732051 chaper2_1 請輸入初始值 x0:-100 請輸入容許誤差:10-6 方程的一個近似解為:-1.732051 chaper2_1 請輸入初始值 x0:-10 請輸入容許誤差:10-6 方程的一個

10、近似解為:-1.732051 chaper2_1 請輸入初始值 x0:-1.1 請輸入容許誤差:10-6 方程的一個近似解為:-1.732051 可以得出不論取何值,newton 迭代式收斂,方程的近似解都收斂于- 3。(2)當(dāng)初值 x0屬于 (-1 , -) 內(nèi)時,程序運(yùn)行結(jié)果如下, chaper2_1 請輸入初始值 x0:-0.9 請輸入容許誤差:10-6 方程的一個近似解為:1.732051 chaper2_1 請輸入初始值 x0:-0.85 請輸入容許誤差:10-6 方程的一個近似解為:1.732051 chaper2_1 請輸入初始值 x0:-0.774598 請輸入容許誤差:10-

11、6 方程的一個近似解為:1.732051 可以得出不論取何值,在此區(qū)間上newton 迭代式不收斂。(3)當(dāng)初值 x0屬于( - , )內(nèi)時,程序運(yùn)行結(jié)果如下, chaper2_1 請輸入初始值 x0:-0.76 請輸入容許誤差:10-6 方程的一個近似解為:0.000000 chaper2_1 請輸入初始值 x0:-0.5 請輸入容許誤差:10-6 方程的一個近似解為:0.000000 chaper2_1 請輸入初始值 x0:-0.1 請輸入容許誤差:10-6 方程的一個近似解為:0.000000 chaper2_1 請輸入初始值 x0:-0.01 請輸入容許誤差:10-6 方程的一個近似解

12、為:-0.000000 chaper2_1 請輸入初始值 x0:0.01 請輸入容許誤差:10-6 方程的一個近似解為:0.000000 chaper2_1 請輸入初始值 x0:0.1 請輸入容許誤差:10-6 方程的一個近似解為:0.000000 chaper2_1 請輸入初始值 x0:0.5 請輸入容許誤差:10-6 方程的一個近似解為:0.000000 chaper2_1 請輸入初始值 x0:0.76 請輸入容許誤差:10-6 方程的一個近似解為:0.000000 可以得出在此區(qū)間內(nèi),不論取何值,newton 迭代式收斂,方程的近似解都收斂于0。(4)當(dāng)初值 x0屬于( ,1)內(nèi)時,運(yùn)行

13、程序結(jié)果如下, chaper2_1 請輸入初始值 x0:0.774598 請輸入容許誤差:10-6 方程的一個近似解為:-1.732051 chaper2_1 請輸入初始值 x0:0.8 請輸入容許誤差:10-6 方程的一個近似解為:-1.732051 chaper2_1 請輸入初始值 x0:0.9 請輸入容許誤差:10-6 方程的一個近似解為:-1.732051 chaper2_1 請輸入初始值 x0:0.95 請輸入容許誤差:10-6 方程的一個近似解為:-1.732051 可以得出不論取何值,在此區(qū)間上newton 迭代式不收斂。(5)當(dāng)初值 x0屬于區(qū)間 (1 , + ) 內(nèi)時,運(yùn)行程

14、序結(jié)果如下, chaper2_1 請輸入初始值 x0:1.1 請輸入容許誤差:10-6 方程的一個近似解為:1.732051 chaper2_1 請輸入初始值 x0:10 請輸入容許誤差:10-6 方程的一個近似解為:1.732051 chaper2_1 請輸入初始值 x0:100 請輸入容許誤差:10-6 方程的一個近似解為:1.732051 chaper2_1 請輸入初始值 x0:10000 請輸入容許誤差:10-6 方程的一個近似解為:1.732051 可以得出,不管x0取何值, newton 迭代式都收斂,且收斂于根 3。3.chapter3 線性代數(shù)方程組數(shù)值解法-列主元 gauss

15、消去法3.1 題目對于某電路的分析,歸結(jié)為求解線性方程組ri=v,其中3113000100001335901100000931100000000107930000900030577050000074730000000030410000005002720009000229r15,27,23,0,20,12,7,7,10ttv(1)編制解n 階線性方程組ax = b的列主元高斯消去法的通用程序;(2)用所編程序解線性方程組ri = v,并打印出解向量,保留5 位有效數(shù)字;(3)本題編程之中,你提高了哪些編程能力?3.2 程序編寫:%通用 gauss列主元消去法n=input( 輸入線性方程組階數(shù):

16、 n=);b=zeros(1,n);a=input( 輸入系數(shù)矩陣:a=n);b(1,:)=input( 輸入線性方程組右端向量:b=n);b=b; c=a,b;for i=1:n-1 maximum,index=max(abs(c(i:n,i); % 求取 c矩陣列主元以及其所在列中位置index=index+i-1;t=c(index,:);c(index,:)=c(i,:);c(i,:)=t;for k=i+1:n if c(k,i)=0c(k,:)=c(k,:)-c(k,i)/c(i,i)*c(i,:);endendend%回代求解x=zeros(n,1);x(n)=c(n,n+1)/

17、c(n,n);for i=n-1:-1:1x(i)=(c(i,n+1)-c(i,i+1:n)*x(i+1:n,1)/c(i,i);enddisp(該方程組的解為:);fprintf(%.5gn,x);3.3 運(yùn)行結(jié)果輸入線性方程組階數(shù): n=9輸入系數(shù)矩陣:a=31 -13 0 0 0 -10 0 0 0;-13 35 -9 0 -11 0 0 0 0;0 -9 31 -10 0 0 0 0 0;0 0 -10 79 -30 0 0 0 -9;0 0 0 -30 57 -7 0 -5 0;0 0 0 0 -7 47 -30 0 0;0 0 0 0 0 -30 41 0 0;0 0 0 0 -5

18、 0 0 27 -2;0 0 0 -9 0 0 0 -2 29輸入線性方程組右端向量:b=-15 27 -23 0 -20 12 -7 7 10該方程組的解為:-0.289230.34544-0.71281-0.22061-0.43040.15431-0.0578230.201050.290233.4 結(jié)果分析從程序運(yùn)行結(jié)果可得,該線性方程組的解向量為:-0.28923 0.34544 -0.71281 -0.22061 -0.4304 0.15431 -0.057823 0.20105 0.29023。通過該道題程序的編寫,我加深了對gauss列主元消去法的理解,也增強(qiáng)了matlab對矩陣、

19、數(shù)組處理的能力。4.chapter3 線性代數(shù)方程組數(shù)值解法-逐次超松弛迭代法4.1 題目(1)編制解 n 階線性方程組ax=b 的 sor方法的通用程序(要求()(1)kkxx) ;(2)對于35 題中所給的線性方程組,取松弛因子/50(1,2,99)iiil,容許誤差51102,打印松弛因子、迭代次數(shù)、最佳松弛因子及解向量。4.2 程序編寫r=zeros(9,9); r(1,1)=31/2;r(1,2)=-13;r(1,6)=-10;r(2,2)=35/2;r(2,3)=-9;r(2,5)=-11; r(3,3)=31/2;r(3,4)=-10;r(4,4)=79/2;r(4,5)=-30

20、;r(4,9)=-9;r(5,5)=57/2; r(5,6)=-7;r(5,8)=-5;r(6,6)=47/2;r(6,7)=-30;r(7,7)=41/2; r(8,8)=27/2;r(8,9)=-2;r(9,9)=29/2; r=r+r;r(6,1)=0;r(5,2)=0; v=-15;27;-23;0;-20;12;-7;7;10; eps1=0.5e-5; detaeps=ones(99,1); k=zeros(99,1); deta=zeros(9,1); x=zeros(9,1); x1=ones(9,99); x0=ones(9,99); for i=1:99 w=i/50; w

21、hile(detaeps(i)eps1) for j=1:9 sum=0; for t=1:j-1 sum=sum+r(j,t)*x1(t,i); endfor t=j+1:9 sum=sum+r(j,t)*x1(t,i); endx1(j,i)=(1-w)*x0(j,i)+w*(v(j)-sum)/r(j,j); endk(i)=k(i)+1; for j=1:9 deta(j)=abs(x1(j,i)-x0(j,i); enddetaeps(i)=max(deta); x0=x1; endendp=min(k); for i=1:9 x(i)=x0(i,p); enddisp(p); di

22、sp(x); 4.3 運(yùn)行結(jié)果最少迭代次數(shù)p=10;最佳迭代因子w=0.2;解析向量x=-0.2892 0.3455 -0.7128 -0.2206 -0.4304 0.1544 -0.057 0.2011 0.2902 。4.4結(jié)果分析通過此次的編程,對比不同的迭代因子,迭代因此不同,收斂速度也不相同,再次加強(qiáng)對于 sor 的理解,提高matlab 的編程能力。5.chapter4 多項式插值與函數(shù)最佳逼近5.1題目(1)編制求第一型3 次樣條插值函數(shù)的通用程序; (2) 已知汽車曲線型值點(diǎn)的數(shù)據(jù)如下:ix012345678910iy2.513.304.044.705.225.545.785

23、.405.575.705.80端點(diǎn)條件為0y=0.8,10y=0.2。用所編制程序求車門的3 次樣條插值函數(shù)s(x),并打印出s(i+0.5)(i=0,1, 9)。5.2程序編寫clc; clear; x=0;1;2;3;4;5;6;7;8;9;10; y=2.51;3.3;4.04;4.7;5.22;5.54;5.78;5.4;5.57;5.7;5.8; dy=0.8;0.2; h=zeros(8,1); u=zeros(9,1); nameda=zeros(9,1); d=zeros(11,1); mm=zeros(11,1); m=zeros(11,11); k=0; for i=1:10 h(i)=x(i+1)-x(i); endfor i=1:9 u(i)=h(i)/(h(i)+h(i+1); nameda(i)=1-u(i); endd(1)=6*(y(2)-y(1)/h(1)-dy(1)/h(1); d(11)=6*(-(y(11)-y(10)/h(10)+dy(2)/h(10); for i=2:10 d(i)=6*(y(i+1)-y(i)/h(i)-(y(i)-y(i-1)/h(i-1)/(x(i+1)-x(i-1); endf

溫馨提示

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

最新文檔

評論

0/150

提交評論