版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、哈工大-數(shù)值分析上機(jī)實驗報告實驗報告題目:非線性程求解摘要:非線性程的解析解通常很難給出,因此線性程的數(shù)值解法就尤為重要。本實驗采用 兩種常見的求解法二分法和 Newton法及改進(jìn)的Newton法。前言:(目的和意義)掌握二分法與 Newton法的基本原理和應(yīng)用。數(shù)學(xué)原理:對丁一個非線性程的數(shù)值解法很多。在此介紹兩種最常見的法:二分法和Newton法對丁二分法,其數(shù)學(xué)實質(zhì)就是說對丁給定的待求解的程f(x),其在a,b上連續(xù),f(a)f(b)5e-6);c=(a+b)/2;if f12(a)*f12(c)0;a=c;elseb=c;endR=b-a;%求出誤差k=k+1;endx=c%合出解Ne
2、wton法及改進(jìn)的 Newton 法源程序:clear%俞入函數(shù)f=input(請輸入需要求解函數(shù),s)%解f(x)的導(dǎo)數(shù)df=diff(f);%進(jìn)常數(shù)或重根數(shù)miu=2;%始值x0x0=input(input initial value x0);k=0;%!代次數(shù)max=100 ;%!大迭代次數(shù)R=eval(subs(f,x0,x);咻解f(x0),以確定初值x0時否就是解while (abs(R)1e-8)x1=x0-miu*eval(subs(f,x0,x)/eval(subs(df,x0,x);R=x1-x0;x0=x1;k=k+1;if (eval(subs(f,x0,x)max;%
3、fc果迭代次數(shù)大丁給定值,認(rèn)為迭代不收斂,重新輸入初值ss=input(maybe result is error,choose a new x0,y/n?,s);if strcmp(ss,y)x0=input(input initial value x0);k=0;elsebreakendendendk;以給出迭代次數(shù)x=x0;以%合出解結(jié)果分析和討論:2用二分法計算程sin x : 0在1 , 2的根。(5* 10 6,下同) 計算結(jié)果為x= 1.523 ;f(x)= -3.4311e-007 ;k=18 ;由f(x)知結(jié)果滿足要求,但迭代次數(shù)比較多,法收斂速度比較慢。用二分法計算程x3
4、x 1 0在1, 1.5的根。計算結(jié)果為x= 1.180 ;f(x)= 2.4815e-006 ;k=17 ;由f(x)知結(jié)果滿足要求,但迭代次數(shù)還是比較多。用Newton法求解下歹U程Xxe 1 0 x0=0.5;計算結(jié)果為x= 0.978 ;f(x)= 2.0313e-016 ;k=4 ;由f(x)知結(jié)果滿足要求,而且乂迭代次數(shù)只有4次看出收斂速度很快。x3 x 1 0x=1 ;(x 1)2 (2x 1) 0x=0.45, x 0=0.65 ;當(dāng)x0=0.45時,計算結(jié)果為x= 0.983 ;f(x)= -8.4584e-014 ;k=4; 由f(x)知結(jié)果滿足要求,而且乂迭代次數(shù)只有4次
5、看出收斂速度很快,實際上該程確實有真解x=0.5 o當(dāng)xo=0.65時,計算結(jié)果為 x= 0.000 ; f(x)=0; k=9 ; 由f(x)知結(jié)果滿足要求,實際上該程確實有真解x=0.5,但迭代次數(shù)增多,實際上當(dāng)取 x00.68時,xE ,就變成了程的另一個解,這說明 Newton法收斂與初值很有關(guān)系,有的時 候甚至可能不收斂。用改進(jìn)的Newton法求解,有2重根,取 2(x 1)2(2x 1) 0 河=0.55;并與3.中的c)比較結(jié)果。當(dāng)x0=0.55時,程序死循環(huán),無法計算,也就是說不收斂。改 1.5時,結(jié)果收斂為 x=0.286 ; f(x)=4.1127e-007 ; k=16
6、; 顯然這個結(jié)果不是很好,而且也不是收斂至程的2重根上。當(dāng)xo=0.85時,結(jié)果收斂為 x= 1.489 ; f(x)= 2.8737e-; k=4 ; 這次達(dá)到了預(yù)期的結(jié)果, 這說明初值的選取很重要,直接關(guān)系到法的收斂性,實際上直接用Newton法,在給定同樣的條件和精度要求下,可得其迭代次數(shù)k=15 ,這說明改進(jìn)后的Newton法法速度確實比較快。結(jié)論: 對丁二分法,只要能夠保證在給定的區(qū)間有根,使能夠收斂的,當(dāng)時收斂的速度和給定的區(qū)間有關(guān),二且總體上來說速度比較慢。Newton法,收斂速度要比二分法快,但是最終其收斂的結(jié)果與初值的選取有關(guān),初值不同,收斂的結(jié)果也可能不一樣,也就是結(jié)果可能
7、不時預(yù)期需要得結(jié)果。改進(jìn)的 Newton法求解重根問題時,如果初值不當(dāng),可能會不 收斂,這一點非常重要,當(dāng)然初值合適,相同情況下其速度要比Newton法快得多。實驗報告二題目:Gauss歹U主元消去法摘要:求解線性程組的法很多,主要分為直接法和間接法。本實驗運用直接法的Guass消去法,并采用選主元的法對程組進(jìn)行求解。前言:(目的和意義)學(xué)習(xí)Gauss消去法的原理。了解列主元的意義。確定什么時候系數(shù)陣要選主元 數(shù)學(xué)原理:由丁一般線性程在使用 Gauss消去法求解時,從求解的過程中可以看到,若a$ 1)=0 ,則必須進(jìn)行行交換,才能使消去過程進(jìn)行下去。有的時候即使a;:1 0,但是其絕對值非常小
8、,由丁機(jī)器舍入誤差的影響,消去過程也會出現(xiàn)不穩(wěn)定得現(xiàn)象,導(dǎo)致結(jié)果不正確。因 此有必要進(jìn)行列主元技術(shù),以最大可能的消除這種現(xiàn)象。這一技術(shù)要尋找行r,使得聞 1)| max a 1)I k并將第r行和第k行的元素進(jìn)行交換,以使得當(dāng)前的a: 1)的數(shù)值比0要大的多。這種列主 元的消去法的主要步驟如下:消元過程對k=1,2, ;n-1,進(jìn)行如下步驟。選主元,記I ark I max 孤i k若|ark I很小,這說明程的系數(shù)矩陣重病態(tài),給出警告,提示結(jié)果可能不對。交換增廣陣A的r, k兩行的元素。aj &燈 (j=k, ?-;n+1)計算消元a0 a0 aikakj/akk (i=k+1,? ?,n;
9、 j=k+1, ,n+1)回代過程對k= n, n-1, ?-,1,進(jìn)行如下計算xk (ak,n 1akj xj / akk )至此,完成了整個程組的求解。程序設(shè)計:本實驗采用Matlab的M文件編寫。Gauss消去法源程序:cleara=input(輸入系數(shù)陣:n)b=input(輸入歹U陣 b: n)n=length(b);A=a bx=zeros(n,1);% %數(shù)主體for k=1:n-1;%否進(jìn)行主元選取if abs(A(k,k)abs(t)p=r;else p=k;endend%換元素if p=k;for q=k:n+1;s=A(k,q);A(k,q)=A(p,q);A(p,q)=
10、s;endendend%斷系數(shù)矩陣是否奇異或病態(tài)非常重if abs(A(k,k)s(n);l=(x-s(n)./(s(n+1)-s(n);elsel=0;endotherwiseif x=s(k-1)&x=s(k)&x3&0d+25*a*a)4 forknmh(kHs(k+vs(k)endforkkmk;粵任洲密回*-amudamiu _a(kHh(k-M)、(h(k-M)+h(k) miu(kHqa(k)end汶汶盅鬟次密盜番Afor kn_km_k-for pn_k5k-swioh pcase kakphncase k_kA(k-pHmiu(p+q); case k+_kA(k-P)*(p
11、a;otherwiseakphpendendend汶汶d番for kn_km_k-swioh kcasekd(kH6*f2c(s(k) s(k+q) s(k+2)vmiu(k)*R); %度控制j=j+1;s=0;for p=1:2A(j-2);s=s+f(a+(2*p-1)*h/(2A(j-1);endT(1,j)=T(1,j-1)/2+h*s/(2A(j-1);% 形公式應(yīng)用for m=2:j;k=(j-m+1);T(m,k)=(4A(m-1)*T(m-1,k+1)-T(m-1,k)/(4A(m-1)-1);endend%出Romberg積分法的函數(shù)表I=T(m,1)結(jié)果分析和討論:專業(yè)資
12、料進(jìn)行具體的積分時,精度取 R=1e-8100求積分x3dx。精確解1=6運行程序得Romberg積分法的函數(shù)表為1.0e+007 *4.0003.0002.0002.0002.00002.00000由函數(shù)表知Romberg積分給出的結(jié)果為2.4999676*10 ,與精確沒有誤差, 精度很高。求積分 131dx。精確解 I=ln3= 1.811。運行程序得Romberg積分法的函數(shù)表為1.3331.6671.6671.0681.3031.8461.5591.1111.0001.5351.0481.0271.13001.9261.3711.7491.6251.937001.6001.5331.
13、3061.1640001.3131.8501.17900001.5931.046000001.019000000從積分表中可以看出程序運行的結(jié)果為1.019,取8位有效數(shù)字,滿足要求求積分1四dx。0 x直接按前面法進(jìn)行積分,會發(fā)現(xiàn)系統(tǒng)報錯,出現(xiàn)了。為除數(shù)的現(xiàn)象。出現(xiàn)這種情況的原因就是當(dāng)x=0時,被積函數(shù)分母出現(xiàn)了 0,如果用一個適當(dāng)?shù)男?shù)(最好不要小丁程序給定的最小誤差值,但是不能小丁機(jī)器的最大精度)來代替,可以避免這個問題。本實驗取R,可得函數(shù)表為:0.6590.1900.4170.4890.7430.0340.1600.8460.49500.3680.0920.138000.7220.7
14、260000.7180000故該函數(shù)的積分為0.718,取8位有效數(shù)字4.124.求積分 sin x dx0本題的解析解很難給出,但運用Romberg積分可以很容易給出近似解,函數(shù)表為:本題的解析解很難給出,但運用0.3950.9240.9220.0940.9490.4560.1000.5880.8180.9000.9590.3540.1670.4390.2960.3950.9240.9220.0940.9490.4560.1000.5880.8180.9000.9590.3540.1670.4390.2960.4650.2690.0080.4840.21100000000.2620故該函數(shù)的
15、積分為0.262,00取8位有效數(shù)子。00結(jié)論:Romberg積分通常要求被積函數(shù)在積分區(qū)間上沒有奇點。如有奇點,且奇點為第一 間斷點,那么采用例3的法,還是能夠求出來的,否則,必須采用其它的積分法。當(dāng)然, Romberg積分的收斂速度還是比較快的。實驗報告六題目:常微分程初值問題的數(shù)值解法摘要:本實驗主要采用經(jīng)典四階的R-K法和四階Adams預(yù)測-校正法來求解常微分程的數(shù)值解。前言:(目的和意義)通過編寫程序,進(jìn)行上機(jī)計算,使得對常微分程初值問題的數(shù)值解法有更深刻的理解, 掌握單步法和線性多步法是如進(jìn)行實際計算的及兩類法的適用圍和優(yōu)缺點,特別是對這兩類法中最有代表性的法:R-K法和Adams
16、法及預(yù)測-校正法有更好的理解。通過這兩種法 的配合使用,掌握不同的法如配合在一起,解決實際問題。數(shù)學(xué)原理:對丁一階常微分程初值問題(Ddy/ dx f (x, y)y(x(J y0(D的數(shù)值解法是近似計算中很中的一部分。常微分程的數(shù)值解法通常就是給出定義域上的n個等距節(jié)點,求出所對應(yīng)的函數(shù)值yn。通常其數(shù)值解法可分為兩大類:單步法:這類法在計算yn+1的值時,只需要知道Xn+1、Xn和yn即可,就可算出。這 類法典型有歐拉法和 R-K法。多步法:這類法在計算yn+1的值時,除了需要知道xn+1、xn和扣值外,還需要知道 前k步的值。典型的法如 Adams法。f。它的具經(jīng)典的R-K法是一個四階的
17、法。它最大的優(yōu)點就是它是單步法,精度高,計算過程 便丁改變步長。其缺點也很明顯,計算量大,每前進(jìn)一步就要計算四次函數(shù)值 體的計算公式如式(f。它的具四階Adams預(yù)測-校正法是一個線性多步法,它是由 Adams顯式公式y(tǒng)n1 yn (Ki 2K2 2K3 K4)h/6(2)Kif(xn,yn)(2)K2 f(xn h/2,yn K1h/2)K3 f(xn h/2,yn K2h/2)K4 f(xn h,yn K3h)和隱式公式組成,其計算公式如式(3)所示。預(yù)測yn 1yn (55 fn 59 fn 1 37 fn 29fn 3)h/24(3a)求導(dǎo)fn 1f (xn 1 , yn 1 )(3b
18、)校正yn 1yn (9fn 1 19fn 5 fn 1 fn2)h/24(3c)求導(dǎo)fn 1f g 1, yn 1)(3d)將局部截斷誤差用預(yù)測值和校正值來表示, 在預(yù)測和校正的公式中分別以它們各自的階段 誤差來進(jìn)行彌補,可期望的到精度更高的修正的預(yù)測-校正公式為:預(yù)測pn 1yn(55 fn59fn1 37 fn2 9fn 3)h/24修正mn 1p n 1(cnpn )251/270求導(dǎo)fn 1f (xn1,mn 1)校正cn 1yn(9fn 119fn 5fn 1fn 2)h/24修正Yn 1cn 1(cn 1pn)19/270求導(dǎo)fn 1f (xn1, yn 1 )由丁開始時無預(yù)測值
19、和校正值可以利用,故令po=C0=0,以后按上面進(jìn)行計算。此法的優(yōu)點是可以減少計算量;缺點是它不是自開始的,需要先知道前面的四個點的值 y,yi,y2,y3,因此不能單獨使用。另外,它也不便丁改變步長。程序設(shè)計:本實驗采用Matlab的M文件編寫。其中待求的微分程寫成function的式,如下function yy=g(x,y);yy=-x*x-y*y;寫成如上形式即可,下面給出主程序。經(jīng)典四階的R-K法源程序clear%長選取h=0.1;%始條件,即x=0時,y=1。y(1)=1;%解區(qū)問a=0;b=2;%代公式for x=a:h:b-h;k1=g(x,y(x-a)/h+1); %(x) y
20、(x),下同。k2=g(x+h/2,y(x-a)/h+1)+h/2*k1);k3=g(x+h/2,y(x-a)/h+1)+h/2*k2);k4=g(x+h,y(x-a)/h+1)+h*k3);y(x-a)/h+2)=y(x-a)/h+1)+h*(k1+2*k2+2*k3+k4)/6;end四階Adams預(yù)測-校正法源程序%長選取h=0.1;%始條件y(i)=i;%解區(qū)問a=0;b=2;%用RK迭代公式計算初始值y0,y1,y2,y3for x=a:h:a+2*h;k1=g(x,y(x-a)/h+1);k2=g(x+h/2,y(x-a)/h+1)+h/2*k1);k3=g(x+h/2,y(x-a
21、)/h+1)+h/2*k2);k4=g(x+h,y(x-a)/h+1)+h*k3);y(x-a)/h+2)=y(x-a)/h+1)+h*(k1+2*k2+2*k3+k4)/6;end%用預(yù)測校正法求解c(4)=0; % 正初值p(4)=0; %測初值f(1)=g(a+0*h,y(1); g(x)y(x),且將該值存在數(shù)組 f 中f(2)=g(a+1*h,y (2);f(3)=g(a+2*h,y (3);f(4)=g(a+3*h,y (4);for n=4:(b-a)/h;%P 測p(n+1)=y(n)+h/24*(55*f(n)-59*f(n-1)+37*f(n-2)-9*f(n-3);%K
22、正m(n+1)=p(n+1)+251/270*(c(n)-p(n);%E 導(dǎo)f(n+1)=g(a+(n+1-1)*h,m(n+1);%C 正c(n+1)=y(n)+h/24*(9*f(n+1)+19*f(n)-5*f(n-1)+f(n-2);%K 正y(n+1)=c(n+1)-19/270*(c(n+1)-p(n+1);%E 導(dǎo)f(n+1)=g(a+(n+1-1)*h,y(n+1);end結(jié)果分析和討論:22計算實例一:對初值問題y X y取步長h=0.1;計算在-1 , 0上的數(shù)值解。y( 1) 0在計算機(jī)上,運用所編的程序進(jìn)行了運算, 結(jié)果如下,其中第一列為在區(qū)間上的等分 點,第二列為運用 R-K法的計算結(jié)果,第三列為 Adams預(yù)測-校正法計算結(jié)果。由丁本 題的解析解很難求出,無法看出精度如,為此進(jìn)行第二實例計算。第一實例計算結(jié)果-1.00000-0.0000.2400.
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年大學(xué)醫(yī)學(xué)美容技術(shù)(美容技術(shù)研究)試題及答案
- 2025年大學(xué)護(hù)理學(xué)(中醫(yī)護(hù)理基礎(chǔ))試題及答案
- 2026年熱水器清洗(水垢去除)試題及答案
- 2025年注冊會計師(CPA)考試 會計科目深度沖刺試卷與答案解析
- 醫(yī)患關(guān)系溫暖文案集
- 人工智能:典型應(yīng)用實例
- 神奇的埃及科普講解
- 祛斑知識培訓(xùn)課件
- 天津理工大學(xué)就業(yè)指南
- 人工智能市場波動分析
- GB.T19418-2003鋼的弧焊接頭 缺陷質(zhì)量分級指南
- 污水管網(wǎng)監(jiān)理規(guī)劃
- GB/T 35273-2020信息安全技術(shù)個人信息安全規(guī)范
- 2023年杭州臨平環(huán)境科技有限公司招聘筆試題庫及答案解析
- 《看圖猜成語》課件
- LF爐機(jī)械設(shè)備安裝施工方案
- 企業(yè)三級安全生產(chǎn)標(biāo)準(zhǔn)化評定表(新版)
- 耐壓測試儀點檢記錄表
- 梅州市梅江區(qū)村級資金財務(wù)管理制度(試行)
- GB∕T 37127-2018 混凝土結(jié)構(gòu)工程用錨固膠
- 胸腺瘤與重癥肌無力手術(shù)治療課件
評論
0/150
提交評論