版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、上機(jī)實(shí)驗(yàn)用二分法求非線性方程的實(shí)根算法思路:找到方程根可能存在的解區(qū)間,然后循環(huán)的取區(qū)間中值,將原解區(qū)間一分為二, 然后判斷兩個(gè)小區(qū)間解的存在性,藉此縮小解區(qū)間的范圍,達(dá)到逼近解的效果。算法流程圖:開(kāi)始源程序代碼:def f(x):return x*xfcx - 2*x -5 5left = input (打二r)right = input。Qx0.0 =酶01if left)*f(right)00: 島13= while f(x) ! = 0 ; print xG5 .:xYldt+ri前G/316:lil.7 :iF f (x) *f (left) & IISright=x19:: if
2、abstright-leFt) e:的;20;:break必2T 電:與工工 :iJxontlnueJ,else ::j24:j =Left=x“25If ab5(riht-lGt) A/yAA/XA/X/pcontinue29=; i :.30 print x實(shí)驗(yàn)結(jié)果:_ O Console 及CTi4 |terminateda spidcnpy DjVyth(HApythonxw司鼻堂人藍(lán)司:23樂(lè)2.252.125 2.B&25 203” 31 日 9375 2.1015625 .09765625 5.0557031352.0947265625 2.0342362S125 2.0wa24
3、2Laa 2.05460449219 2.09454345703結(jié)果分析:二分法可以粗略確定解所在的區(qū)間,然而要想真正的逼近并且達(dá)到一定的精度,關(guān)鍵在 二分的次數(shù),以及解區(qū)間的大小,由實(shí)驗(yàn)可見(jiàn),實(shí)驗(yàn)執(zhí)行了很多次二分的過(guò)程,最后的區(qū)間 范圍小于要求的誤差限即可。由實(shí)驗(yàn)結(jié)果可見(jiàn),后面幾個(gè)實(shí)驗(yàn)數(shù)據(jù),前面幾位基本上固定不動(dòng)了。上機(jī)實(shí)驗(yàn)二用迭代法求非線性方程的實(shí)根算法思路:x 1=(x),因?yàn)榇说葍r(jià)方程的一階倒數(shù) 將x1代入等價(jià)方程后的新結(jié)果x2 =(x1)將方程f (x) = 0 ,化為一個(gè)等價(jià)的方程 的絕對(duì)值必須小于1,可以由泰勒級(jí)數(shù)公式發(fā)現(xiàn), 更加逼近真實(shí)值算法流程圖:開(kāi)始K=1X1 =(x0)結(jié)
4、束源程序代碼: -150即idu黑iinport math- def fa(K):return (natti .exp( -x)+l5 x input (F =士H )6 匕二 ,0005iuhi le abs( f a k) - k) c :M =干m (耳)! 9print xx fa(x)print x實(shí)驗(yàn)結(jié)果:曰 Console 圖 spider.py (D:Pythonpython.exe 害常人才代朝:二:卡|i.e1.367879441171.2546463 Se641.2B5176G7456l-27650L7ieS51.27853375see1.278319997021.27B
5、50479654實(shí)驗(yàn)結(jié)果分析:由實(shí)驗(yàn)結(jié)果可見(jiàn),這種解法比二分法要快的多,可以更快的收斂到根,但初始迭代值,必須坐落在其收斂域中。上機(jī)實(shí)驗(yàn)三用牛頓法求非線性方程的實(shí)根算法思路:真實(shí)值x*是y=f (x)與x軸的交點(diǎn),由計(jì)算(xk, f (xk)的切線與x軸的交點(diǎn)xk+1, 重復(fù)上述過(guò)程,可以使 xk+n逼近x*算法流程圖:源程序代碼:p s.pider 第UCGfl 1 nC-UlTT qimport 時(shí)mth- def f(xj!return )c*niath. exp( -x)51 def fa (x):Eturn 1-Hrath. exp( -x)7S x = input(,:一 * )9
6、 e - 0.0O0QLIS |11 whil abstf(x)/f3(k) & : .,12x = ic-f (x)yf a(K)L13print xx = x-i(x)/fa(x)print x實(shí)驗(yàn)結(jié)果:mpr r jur rvV 0 J了 jAle Edit Refactoring Source Navigate Search Fr3 r叁;a Console 笈9 spider.py D:Pythonpyth o n .exe才蛤人生代枕6 5|&r 56631131970.56714316503556714325041實(shí)驗(yàn)結(jié)果分析:牛頓迭代法擁有比上述迭代法更快的迭代速度,因其牛頓迭
7、代法為至少二階收斂,故比實(shí)驗(yàn)二收斂的速度更加快。上機(jī)實(shí)驗(yàn)一用高斯列主消元法求解線性方程組 算法思路:型同與矩陣的行消元變換,只不過(guò),消元變換之前,先用初等行變換將主對(duì)角線上 的元素變?yōu)榱性氐慕^對(duì)值最大的那個(gè)元素。算法用遞歸的方法實(shí)現(xiàn)的 算法流程圖:開(kāi)始 import math源程序代碼:#coding=utf-8回代求出解結(jié)束輸出 解def major (x,y,A,n,b): if (x=n or y=n): returnmax = abs(Axy) row = xfor i in range(x,n, 1):if abs(Aiy) max: max =abs(Aiy) row = ite
8、mp = AxAx = ArowArow = temptemp = bxbx = brow brow=tempmajor(x+ 1 ,y+ 1,A,n,b)#遞歸尋找主元素return def eliminate (x,y,A,n,b): if (x=n or y=n): return TOC o 1-5 h z if Axy=0:print error returnforiinrange(x+1 ,n,1):R = Aiy/Axy forkinrange(y+1 ,n,1):Aik = round(Aik - R*Axk ,6)bi = round(bi - R*bx ,6)Aiy=0eli
9、minate(x+ 1, y+ 1, A, n,b) #遞歸進(jìn)行消元return def back (x,y,A,X,n,b): if (x 0or yi- dp- h 虹 lc(K,y,n,bj :37jt y43return4445 A =47也也1.1.自*1,仇L8,LL優(yōu)L.上國(guó)J 屈.49菠電,g】,/、ZL5111.0,1531仇上“a.L 仇L電.凱 L 孔Ldl.at.由j-Mil.%2.%1.0,L%L%L 露 1.苞,.31.%1.可,553%明工41也工.*1.也1如1*%1.%修士S657 b 3、.R.&d吊應(yīng)也旌也后1肛小咒附戶(hù)耳風(fēng)下了-日產(chǎn)5-打赤 X 一曲.0
10、避浦亂日,心為我露亂射心力力心0m節(jié) major ft a % 1 % 的EG elininaE(0jO,AlGb)口工 backf.A.K.ie.b、曰anta1 口箕遂0r廚wlermirmledA Tpid 白r.py【OtPythorAponMEi.e, 3, 5也 %a 5,e, fl.e,九電*機(jī)* q.也 二肌叼結(jié)果分析:列主元素高斯消去法,其計(jì)算主要在于消去過(guò)程的乘法,由于將主對(duì)角線上的元素都變 成了列主元素,因此減少了有小數(shù)被大數(shù)吃掉的情況上機(jī)實(shí)驗(yàn)五用雅克比迭代法解線性方程組Max|xi -yi| e ):if k 100 :print(迭代失敗)breakk += 1for
11、 i in range( 0, 3):sum = 0.0for j in range( 0, 3):if i != j :sum += aij * xjyi = (bi - sum) / aii d = 0.0for j in range( 0, 3):#計(jì)算無(wú)窮階范數(shù)if d d :norm = dfor j in range( 0, 3):xj = yjprint k print x實(shí)驗(yàn)結(jié)果:,門(mén)4 - k += 11 15 for i in rarge(0,3: sum - 0.0, 17:for j in range(fi,3):rl8:=if 1 1= j :S5MI k- ji j
12、j / X2:yi - (bi bum) / ai61 d = ti.o.for j in rargE(0,i): 心3i+(1 ri ;nJ6 ::norn - d27 for j in rarige(0j33:xj = yjj2g print k30 print x口 Me業(yè) E3 M / G | 事eler Ein 峨d % sp 詁lerpy IDaPythorApWlroiLw鼠w18L3 99999G419g$165G, 2.999973&S379S1&4, 1,999996938339203結(jié)果分析:由結(jié)果可知,總共迭代 18次,結(jié)果都在誤差范圍之內(nèi),與高斯消元法不同的是,迭代
13、法每一次迭代執(zhí)行 n (n -1)次乘法,也不一定比高斯消元法速度快上機(jī)實(shí)驗(yàn)六用拉格朗日插值多項(xiàng)式求函數(shù)的近似值算法思路:構(gòu)造一個(gè)唯一的高次多項(xiàng)式,使所有樣本點(diǎn)( xi , yi)都有f (xi) = yi 算法流程圖:開(kāi)始輸入(xi,yi) ,ni=0,1.n源程序代碼:k=k+1import math1.02652 x= 0.4 , 0,55 , 0.65 , 0.8 , 0,9 y= 0,4175 , 0.57815 , 0.69657 , 0.88811x1= 0,5 , 0,85 , 1.05 TOC o 1-5 h z foriinx1:z= 0.0forkinrange(0,5)
14、:t= 1.0forlinrange(0,5):ifl!= k :t=t*(i - xl) / (xk - xl)z += t*ykprint p(x) =+ str(z)實(shí)驗(yàn)結(jié)果:J-1 日 一-1 inport math3苒=10,4押,50.65亂名.酊刃d y= 0.4175 , 0.S781S ,0.6g657 , 0.RS811 /1.02652*1-弧 5j0.B5J.85 For i in wl 7Z-0.0Hfar k in rangc(5,S):3t=T.。10far 1inrange(0j5);Sil:if1 I- k ;*17_ t-t*(l - *1) / (4N -
15、 x(l)i t- t*yfkprint p(x) 1r 4- str(z)如田1k國(guó). X派R皇| spider.py Djhcsnyiiin-mLexsp(x)二日.52Mlb” 1429p(x) =6.956049971429p(x) 1.2582257143結(jié)果分析:實(shí)驗(yàn)根本不會(huì)計(jì)算出高次多項(xiàng)式的參數(shù),每次將輸入的x代入到各個(gè)基函數(shù)中運(yùn)算即可,插值結(jié)果分別為 p(0.5) = 0.522 ,p(0.85) = 0.956,p(1.05) = 1.258上機(jī)實(shí)驗(yàn)七用牛頓插值多項(xiàng)式求函數(shù)的近似值算法思路:構(gòu)造一個(gè)唯一的高次多項(xiàng)式,使所有樣本點(diǎn)( xi , yi)都有f (xi) = yi,
16、但是多項(xiàng)式 系數(shù)不需要每次重新計(jì)算,添加一個(gè)樣本點(diǎn),計(jì)算一次差商即可,本題運(yùn)用滾動(dòng)數(shù)組而非矩陣的方式計(jì)算差商算法流程圖:Fi =Ti=yi牛頓插值法#coding=utf-8x= 0.4 , 0,55 , 0.65 , 0.8 , 0,9 y= 0,4175 , 0.57815 , 0.69657 , 0.88811 , 1.02652 x1= 0,5 , 0,85 , 1.05 F = y:T = y:def f (a):z =0.0for i in range( 0, 5):t= 1.0for k in range( 0,i):t=t*(a-xk)z += t*Fireturn zfor i in range( 0, 5):if i% 2 = 0:Fi = Tielse :Ti = Fifor k in range(i+ 1, 5):if i % 2 = 0:Fk = (Tk - Tk- 1) / (xk- xk-i- 1)else :Tk = (Fk - Fk- 1) / (xk- xk-i- 1)for i in x1:print f(i)運(yùn)行結(jié)果4 y= q.4175 ,H*57815 ,電.69657 1KP25524 xl=Oi5JO.O5JlH05& F viT =def f!&2 =9.09for i in
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度土地租賃保證金合同范本3篇
- 審準(zhǔn)答題區(qū)域高考語(yǔ)文
- 畫(huà)世界畫(huà)人物課程設(shè)計(jì)
- 2024年單位跨區(qū)域物資運(yùn)輸合同范本2篇
- 新生代表發(fā)言稿(集合15篇)
- 2024年度保密協(xié)議書(shū)范本:保密協(xié)議的保密期限3篇
- 注射成型課程設(shè)計(jì)
- 搬遷方案集錦五篇
- 海報(bào)課程設(shè)計(jì)報(bào)告
- 游園湯顯祖課程設(shè)計(jì)
- 初中語(yǔ)文人教九年級(jí)上冊(cè)故鄉(xiāng)打印教學(xué)設(shè)計(jì)
- 火災(zāi)自動(dòng)報(bào)警系統(tǒng)的邏輯聯(lián)動(dòng)關(guān)系表
- 危重患者的護(hù)理評(píng)估PPT課件
- 滾筒性能檢驗(yàn)報(bào)告
- 蘇州大學(xué)國(guó)際金融期末考試題庫(kù)20套
- 壓縮映射原理的性質(zhì)和應(yīng)用
- 四年級(jí)寒假語(yǔ)文實(shí)踐作業(yè)
- 項(xiàng)目進(jìn)場(chǎng)計(jì)劃及臨建方案
- 通信設(shè)施產(chǎn)權(quán)歸屬
- 提撈采油安全操作規(guī)程
- 京劇英語(yǔ)介紹PPT課件
評(píng)論
0/150
提交評(píng)論