數(shù)學試驗報告樣本_第1頁
數(shù)學試驗報告樣本_第2頁
數(shù)學試驗報告樣本_第3頁
數(shù)學試驗報告樣本_第4頁
數(shù)學試驗報告樣本_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

本文格式為Word版,下載可任意編輯——數(shù)學試驗報告樣本數(shù)學試驗報告

試驗序號:3日期:2023年12月14日

班級試驗名稱應數(shù)一班姓名陳菲學號求代數(shù)方程的近似根1101114209問題背景描述:求代數(shù)方程f(x)?0的根是最常見的數(shù)學問題之一,當f(x)是一次多項式時,稱f(x)?0為線性方程,否則稱之為非線性方程.當f(x)?0是非線性方程時,由于f(x)的多樣性,尚無一般的解析解法可使用,但假使對任意的精度要求,能求出方程的近似根,則可以認為求根的計算問題已經(jīng)解決,至少能滿足實際要求.本試驗介紹一些求方程實根的近似值的有效方法,要求在使用這些方法前先確定求根區(qū)間[a,b],或給出某根的近似值x0.試驗目的:1.了解代數(shù)方程求根求解的四種方法:對分法、迭代法、牛頓切線法2.把握對分法、迭代法、牛頓切線法求方程近似根的基本過程。1

試驗原理與數(shù)學模型:1.對分法對分法思想:將區(qū)域不斷對分,判斷根在某個分段內(nèi),再對該段對分,依此類推,直到滿足精度為止.對分法適用于求有根區(qū)間內(nèi)的單實根或奇重實根.設f(x)在[a,b]上連續(xù),f(a)?f(b)?0,即f(a)?0,f(b)?0或f(a)?0,f(b)?0.則根據(jù)連續(xù)函數(shù)的介值定理,在(a,b)內(nèi)至少存在一點?,使f(?)?0.下面的方法可以求出該根:a?bx0?2,計算f(x0);令xf(x0)?0x?x0若,則0是f(x)?0的根,中止計算,輸出結果.b?x0f(a)?f(x0)?0a?x0b1?b,1,若,則令1,;ak?bkx?kba2.……,有k、k以及相應的ak?bkx?kf(xk)???2;(3)若(為預先給定的精度要求),退出計算,輸出結果若f(a)?f(x0)?0,則令a1?ax1?a1?b12.反之,返回(1),重復(1),(2),(3).(a,b){[a,b]}以上方法可得到每次縮小一半的區(qū)間序列kk,在kk中含有方程的根.a(chǎn)k?bkx?kbk?ak2為根的近似值,顯然有當區(qū)間長很小時,取其中點1111xk???(bk?ak)???(bk?1?ak?1)??k?1(b?a)2222以上公式可用于估計對分次數(shù)k.2.迭代法迭代法的基本思想:由方程f(x)?0構造一個等價方程x從某個近似根0出發(fā),令xk?1??(xk)k?0,1,2,??,{x}可得序列k,這種方法稱為迭代法.{x}若k收斂,即x??(x)limxk?x*k??,只要?(x)連續(xù),有l(wèi)imxk?1?lim?(xk)??(limxk)k??k??k??即

{xk}xk*的極限x是x??(x)的根,也就是f(x)?0的根.x*??(x*)可知,當然,若迭代過程發(fā)散,迭代法就失敗.收斂的常用判別標準:x?[a,b]?'(x)當根區(qū)間[a,b]較小,且對某一0,明顯小于1時,則迭代收斂2)迭代法的加速:a)松弛法:*x?x?(1??k)xk??k?(xk)若?(x)與k同是x的近似值,則k?1是兩個近似值的加權平均,其中k稱?為權重,現(xiàn)通過確定k看能否得到加速.迭代方程是:x??(x)其中?(x)?(1??)x???(x),令?'(x)?1?????'(x)?0,試確定?:當?'(x)?1時,有xk?1??(xk)????'(xk)11?k?1??k?1??'(xk),1??'(xk)時,1??'(x),即當xk?1?(1??k)xk??k?(xk)?k?,可望獲得較好的加速效果,于是有松弛法:b)Altken方法:x*??(x*),x*是它的根,x0是其近似根.11??'(xk)x??(x0)x2??(x1)設1,,由于x*?x2?[x*?x2]?x2?[?(x*)??(x1)]?x2??'(?)(x*?x1),x2?x1?(x1)??(x0)?x?xx1?x0用差商10近似代替?'(?),有x*?x2?*x2?x1*(x?x1)x1?x0,解出x,得(x2?x1)2*x?x2?x2?2x1?x0由此得出公式(1)xk??(xk);(2)(1)xk??(xk);(2)(1)2(xk?xk)(2)xk?1?xk?(2)(1)xk?2xk?xk,k?0,1,2,??

這就是Altken公式。3.牛頓(Newton)法(牛頓切線法)1)牛頓法的基本思想:f(x)?0是非線性方程,一般較難解決,多采用線性化方法.f''(?)(x?x0)22!P(x)?f(x0)?f'(x0)(x?x0)記:P(x)是一次多項式,用P(x)?0作為f(x)?0的近似方程.f(x)?f(x0)?f'(x0)(x?x0)?P(x)?f(x0)?f'(x0)(x?x0)?0的解為x?x0?記為,一般地,記f(xk)xk?1?xk?f'(xk)k?0,1,2,??即為牛頓法公式。x1f(x0)f'(x0)(f'(x0)?0)試驗所用軟件及版本:MatlabR2023b主要內(nèi)容(要點):分別用對分法、普通迭代法、松弛迭代法、Altken迭代法、牛頓切法線等5種方法,求方程t?x?sin(x)的正的近似根,0?t?1.(建議取t?0.5.)4

試驗過程記錄(含基本步驟、主要程序清單及異常狀況記錄等):1.對分法symsxfx;a=0.001;b=3;fx=0.5*x-sin(x);x=(a+b)/2;k=0;ffx=subs(fx,'x',x);ifffx==0;disp(['therootis:',num2str(x)])elsedisp('kakbkf(xk)')whileabs(ffx)>0.0001disp([num2str(k),'',num2str(a),'',num2str(b),'',num2str(ffx)])fa=subs(fx,'x',a);ffx=subs(fx,'x',x);iffa*ffx3.普通迭代法symsxfxgx;gx=sin(x)/0.5;fx=0.5*x-sin(x);disp('kxf(x)')x=1.1;k=0;ffx=subs(fx,'x',x);whileabs(ffx)>0.0001;disp([num2str(k),'',num2str(x),'',num2str(ffx)]);x=subs(gx,'x',x);ffx=subs(fx,'x',x);k=k+1;enddisp([num2str(k),'',num2str(x),'',num2str(ffx)])fprintf('所求的解是:x=%f,迭代步數(shù)是:%d/n',x,k)01.1-0.3412111.7824-0.08648521.95540.05073931.8539-0.03323841.92040.02067751.879-0.01335761.90570.008443371.8889-0.00541681.89970.003443191.8928-0.0022023101.89720.0014028111.8944-0.00089584121.89620.00057125131.895-0.00036462141.89580.00023259151.8953-0.00014842161.89569.4692e-005所求的解是:x=1.895610,迭代步數(shù)是:163.松弛迭代法symsfxgxxdgx;gx=sin(x)*2;fx=0.5*x-sin(x);dgx=diff(gx,'x');x=1.8;k=0;ggx=subs(gx,'x',x);ffx=subs(fx,'x',x);dgxx=subs(dgx,'x',x);disp('kxw')whileabs(ffx)>0.0001;w=1/(1-dgxx);disp([num2str(k),'',num2str(x),'',num2str(w)])x=(1-w)*x+w*ggx;k=k+1;ggx=subs(gx,'x',x);ffx=subs(fx,'x',x);dgxx=subs(dgx,'x',x);enddisp([num2str(k),'',num2str(x),'',num2str(w)])fprintf('所求的解是:x=%f,迭代步數(shù)是:%d\\n',x,k)6kxw01.80.6875711.90160.6062421.89550.60624所求的解是:x=1.895515,迭代步數(shù)是:24.altken法symsfxgxx;gx=sin(x)*2;fx=0.5*x-sin(x);disp('kxx1x2')x=1.5;k=0;ffx=subs(fx,'x',x);whileabs(ffx)>0.0001;u=subs(gx,'x',x);v=subs(gx,'x',u);disp([num2str(k),'',num2str(x),'',num2str(u),'',num2str(v)])x=v-(v-u)^2/(v-2*u+x);k=k+1;ffx=subs(fx,'x',x);enddisp([num2str(k),'',num2str(x),'',num2str(u),'',num2str(v)])fprintf('所求的解是:x=%f,迭代步數(shù)是:%d\\n',x,k)kxx1x201.51.9951.822711.86721.91281.884221.89521.89571.895431.89551.89571.8954所求的解是:x=1.895494,迭代步數(shù)是:35.牛頓法symsxfxgx;fx=0.5*x-sin(x);gx=diff(fx,'x');x1=0.8;x2=1.5;x3=4;k=0;disp('kx1x2x3')fx1=subs(fx,'x',x1);fx2=subs(fx,'x',x2);fx3=subs(fx,'x',x3);gx1=subs(gx,'x',x1);gx2=subs(gx,'x',x2);gx3=subs(gx,'x',x3);whileabs(fx1)>0.0001|abs(fx2)>0.0001|abs(fx3)>0.0001;disp([num2str(k),'',num2str(x1),'',num2str(x2),'',num2str(x3)])x1=x1-fx1/gx1;x2=x2-fx2/gx2;x3=x3-fx3/gx3;k=k+1;fx1=subs(fx,'x',x1);fx2=subs(fx,'x',x2);fx3=subs(fx,'x',x3);gx1=subs(gx,'x',x1);gx2=subs(gx,'x',x2);gx3=subs(gx,'x',x3);enddisp([num2str(k),'',num2str(x1),'',num2str(x2),'',num2str(x3)])fprintf('所求的解是:x1=%f,x2=%f,x3=%f,迭代步數(shù):%d\\n',x1,x2,x3,k)7

kx1x2x300.81.541-0.813352.07661.610420.896791.91051.973-1.78561.89561.89844-1.90371.89551.89555-1.89551.89551.8955所求的解是:x1=-1.895533,x2=1.895494,x3=1.895494,迭代步數(shù):51.對分法簡單,然而,若在是有幾個零點時,只能算出其中一個零點,它不能求重根,在上有零點,也未必有。這就限制了對的實根。對分法的收斂速度較慢,它常用來試也不能求虛根.另一方面,即使分法的使用范圍。對分法只能計算方程探實根的分布區(qū)間,或求根的近似值.形式而,這時若初值素,其一,等價形式應滿足,由尋覓滿足定理條件的等價形式是難于做到的。事實上,假使的連續(xù)性,一定存在為的鄰域的零點,若能構造等價,其上有迭代也就收斂了。由此構造收斂迭代式有兩個要;其二,初值必需取自的充分小鄰域,這個鄰域大小決定于函數(shù),及做出的等價形式。松弛法的加速效果明顯,甚至不收斂的迭代函數(shù)經(jīng)加速后也能獲得收斂.?'(xk),在使用中有時不便利,而Altken公式,它的加速效果是十明顯顯的,松弛法要先計算它同樣可使不收斂的迭代格式獲得收斂。5.牛頓法的收斂速度明顯快于對分法。牛頓法也有局限性。牛頓法至少是二階收斂的,而在重根附近,牛頓法是線性收斂的,且重根收斂很慢。另外,在牛頓法中,選取適當?shù)跏贾凳乔蠼獾那邦},當?shù)某跏贾翟谀掣母浇鼤r迭代才能收斂到這個根,有時會發(fā)生從一個數(shù)值很小時。根附近跳向另一個根附近的狀況,特別在導數(shù)8

試驗結果報告及試驗總

溫馨提示

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

評論

0/150

提交評論