exp3_求代數(shù)方程的近似根_第1頁
exp3_求代數(shù)方程的近似根_第2頁
exp3_求代數(shù)方程的近似根_第3頁
exp3_求代數(shù)方程的近似根_第4頁
exp3_求代數(shù)方程的近似根_第5頁
已閱讀5頁,還剩6頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

實(shí)驗(yàn)三求代數(shù)方程的近似根(解)一、問題背景和實(shí)驗(yàn)?zāi)康那蟠鷶?shù)方程的根是最常見的數(shù)學(xué)問題之一(這里稱為代數(shù)方程,主要是想和后面的微分方程區(qū)別開為簡明起見,在本實(shí)驗(yàn)的以下敘述中,把代數(shù)方程簡稱為方程),當(dāng)是一次多項(xiàng)式時(shí),稱為線性方程,否則稱之為非線性方程當(dāng)是非線性方程時(shí),由于的多樣性,尚無一般的解析解法可使用,但如果對任意的精度要求,能求出方程的近似根,則可以認(rèn)為求根的計(jì)算問題已經(jīng)解決,至少能滿足實(shí)際要求本實(shí)驗(yàn)介紹一些求方程實(shí)根的近似值的有效方法,要求在使用這些方法前先確定求根區(qū)間,或給出某根的近似值在實(shí)際問題抽象出的數(shù)學(xué)模型中,可以根據(jù)物理背景確定;也可根據(jù)的草圖等方法確定,還可用對分法、迭代法以及牛頓切線法大致確定根的分布情況通過本實(shí)驗(yàn)希望你能:1. 了解對分法、迭代法、牛頓切線法求方程近似根的基本過程;2. 求代數(shù)方程(組)的解二、 相關(guān)函數(shù)(命令)及簡介1abs( ):求絕對值函數(shù)2diff(f):對獨(dú)立變量求微分,f 為符號表達(dá)式diff(f, a):對變量a求微分,f 為符號表達(dá)式diff(f, a, n):對變量 a 求 n 次微分,f 為符號表達(dá)式例如:syms x tdiff(sin(x2)*t6, t, 6)ans= 720*sin(x2)3roots(c(1), c(2), , c(n+1):求解多項(xiàng)式的所有根例如:求解:p = 1 -6 -72 -27;r = roots(p)r = 12.1229 -5.7345 -0.38844solve(表達(dá)式):求表達(dá)式的解solve(2*sin(x)=1)ans = 1/6*pi5linsolve(A, b):求線性方程組 A*x=b 的解 例如:A= 9 0; -1 8; b=1; 2;linsolve(A, b)ans= 1/919/726fzero(fun, x0):在x0附近求fun 的解其中fun為一個(gè)定義的函數(shù),用“函數(shù)名”方式進(jìn)行調(diào)用例如:fzero(sin, 3)ans= 3.14167subs(f, x , a):將 a 的值賦給符號表達(dá)式 f 中的 x,并計(jì)算出值例如:subs(x2 , x , 2)ans = 4三、 實(shí)驗(yàn)內(nèi)容首先,我們介紹幾種與求根有關(guān)的方法:1 對分法對分法思想:將區(qū)域不斷對分,判斷根在某個(gè)分段內(nèi),再對該段對分,依此類推,直到滿足精度為止對分法適用于求有根區(qū)間內(nèi)的單實(shí)根或奇重實(shí)根設(shè)在上連續(xù),即 ,或,則根據(jù)連續(xù)函數(shù)的介值定理,在內(nèi)至少存在一點(diǎn) ,使下面的方法可以求出該根:(1) 令,計(jì)算;(2) 若,則是的根,停止計(jì)算,輸出結(jié)果若 ,則令,若,則令,;,有、以及相應(yīng)的(3) 若 (為預(yù)先給定的精度要求),退出計(jì)算,輸出結(jié)果;反之,返回(1),重復(fù)(1),(2),(3)以上方法可得到每次縮小一半的區(qū)間序列,在中含有方程的根當(dāng)區(qū)間長很小時(shí),取其中點(diǎn)為根的近似值,顯然有以上公式可用于估計(jì)對分次數(shù)分析以上過程不難知道,對分法的收斂速度與公比為的等比級數(shù)相同由于,可知大約對分10次,近似根的精度可提高三位小數(shù)對分法的收斂速度較慢,它常用來試探實(shí)根的分布區(qū)間,或求根的近似值2. 迭代法1) 迭代法的基本思想:由方程構(gòu)造一個(gè)等價(jià)方程從某個(gè)近似根出發(fā),令,可得序列,這種方法稱為迭代法若 收斂,即,只要連續(xù),有即可知,的極限是的根,也就是的根當(dāng)然,若發(fā)散,迭代法就失敗以下給出迭代過程收斂的一些判別方法:定義:如果根的某個(gè)鄰域中,使對任意的,迭代過程,收斂,則稱迭代過程在附近局部收斂定理1: 設(shè),在的某個(gè)鄰域內(nèi)連續(xù),并且,則對任何,由迭代決定的序列收斂于定理2:條件同定理 1,則定理3:已知方程,且(1) 對任意的,有(2) 對任意的,有,則對任意的,迭代生成的序列收斂于的根,且 以上給出的收斂定理中的條件要嚴(yán)格驗(yàn)證都較困難,實(shí)用時(shí)常用以下不嚴(yán)格的標(biāo)準(zhǔn):當(dāng)根區(qū)間較小,且對某一,明顯小于1時(shí),則迭代收斂 (參見附錄3)2) 迭代法的加速:a) 松弛法:若與同是的近似值,則是兩個(gè)近似值的加權(quán)平均,其中稱為權(quán)重,現(xiàn)通過確定看能否得到加速迭代方程是:其中,令,試確定:當(dāng)時(shí),有,即當(dāng),時(shí),可望獲得較好的加速效果,于是有松弛法:,松弛法的加速效果是明顯的 (見附錄4),甚至不收斂的迭代函數(shù)經(jīng)加速后也能獲得收斂b) Altken方法:松弛法要先計(jì)算,在使用中有時(shí)不方便,為此發(fā)展出以下的 Altken 公式:,是它的根,是其近似根設(shè),因?yàn)?,用差商近似代替,?,解出,得由此得出公式 ;,這就是Altken 公式,它的加速效果也是十分明顯的,它同樣可使不收斂的迭代格式獲得收斂(見附錄5)3. 牛頓(Newton)法(牛頓切線法)1) 牛頓法的基本思想:是非線性方程,一般較難解決,多采用線性化方法記:是一次多項(xiàng)式,用作為的近似方程的解為 記為,一般地,記 即為牛頓法公式.2) 牛頓法的收斂速度:對牛頓法,迭代形式為:注意分子上的,所以當(dāng)時(shí),牛頓法至少是二階收斂的,而在重根附近,牛頓法是線性收斂的牛頓法的缺點(diǎn)是:(1)對重根收斂很慢;(2)對初值要求較嚴(yán),要求相當(dāng)接近真值因此,常用其他方法確定初值,再用牛頓法提高精度4. 求方程根(解)的其它方法(1) solve(x3-3*x+1=0)(2) roots(1 0 -3 1)(3) fzero(x3-3*x+1, -2)(4) fzero(x3-3*x+1, 0.5)(5) fzero(x3-3*x+1, 1.4)(6) linsolve(1, 2, 3; 4, 5, 6; 7, 8, 0, 1, 2, 3)體會一下,(2)(5) 用了上述 13 中的哪一種方法?以下是本實(shí)驗(yàn)中的幾個(gè)具體的實(shí)驗(yàn),詳細(xì)的程序清單參見附錄具體實(shí)驗(yàn)1:對分法先作圖觀察方程:的實(shí)根的分布區(qū)間,再利用對分法在這些區(qū)間上分別求出根的近似值輸入以下命令,可得的圖象:f=x3-3*x+1; g=0; ezplot(f, -4, 4); hold on; ezplot(g, -4, 4); %目的是畫出直線 y=0,即 x 軸grid on; axis(-4 4 -5 5); hold off請?zhí)顚懴卤恚簩?shí)根的分布區(qū)間 該區(qū)間上根的近似值在某區(qū)間上求根的近似值的對分法程序參見附錄1具體實(shí)驗(yàn)2:普通迭代法采用迭代過程:求方程在 0.5 附近的根,精確到第 4 位小數(shù)構(gòu)造等價(jià)方程:用迭代公式: ,用 Matlab 編寫的程序參見附錄2請利用上述程序填寫下表:分析:將附錄2第4行中的分別改為以及,問運(yùn)行的結(jié)果是什么?你能分析得到其中的原因嗎?看看下面的“具體實(shí)驗(yàn)3”是想向你表達(dá)一個(gè)什么意思用 Matlab 編寫的程序參見附錄3具體實(shí)驗(yàn)3:收斂/發(fā)散判斷設(shè)方程的三個(gè)根近似地取,和,這些近似值可以用上面的對分法求得迭代形式一:收斂 (很可能收斂,下同)不收斂 (很可能不收斂,下同) 不收斂迭代形式二: 收斂 不收斂 不收斂迭代形式三: 不收斂收斂收斂具體實(shí)驗(yàn)4:迭代法的加速1松弛迭代法,迭代公式為 程序參見附錄4具體實(shí)驗(yàn)5:迭代法的加速2Altken迭代法迭代公式為:,程序參見附錄5具體實(shí)驗(yàn)6:牛頓法用牛頓法計(jì)算方程在-2到2之間的三個(gè)根提示:,迭代公式:程序參見附錄6 (牛頓法程序)具體實(shí)驗(yàn)7:其他方法求下列代數(shù)方程(組)的解:(1)命令:solve(x5-x+1=0)(2)命令:x, y=solve(2*x+3*y=0, 4*x2+3*y=1)(3) 求線性方程組的解,已知,命令:for i=1:5for j=1:5m(i, j)=i+j-1;endendm(5, 5)=0;b=1:5linsolve(m, b)思考:若 ,或是類似的但階數(shù)更大的稀疏方陣,則應(yīng)如何得到?四、自己動手1對分法可以用來求偶重根附近的近似解嗎? 為什么?2對照具體實(shí)驗(yàn)2、4、5,你可以得出什么結(jié)論?3選擇適當(dāng)?shù)牡^程,分別使用:(1)普通迭代法;(2)與之相應(yīng)的松弛迭代法和 Altken 迭代法求解方程 在 1.4 附近的根,精確到4位小數(shù),請注意迭代次數(shù)的變化4分別用對分法、普通迭代法、松弛迭代法、Altken 迭代法、牛頓切法線等5種方法,求方程 的正的近似根,(建議取 時(shí)間許可的話,可進(jìn)一步考慮 的情況)五、附錄附錄1:對分法程序(fulu1.m)syms x fx;a=0;b=1;fx=x3-3*x+1;x=(a+b)/2;k=0;ffx=subs(fx, x, x);if ffx=0; disp(the root is:, num2str(x)else disp(k ak bk f(xk)while abs(ffx)0.0001 & ab; disp(num2str(k), , num2str(a), , num2str(b), , num2str(ffx) fa=subs(fx, x, a);ffx=subs(fx, x, x);if fa*ffx0.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)附錄3:收斂/發(fā)散判斷(fulu3.m)syms x g1 g2 g3 dg1 dg2 dg3;x1=0.347;x2=1.53;x3=-1.88;g1=(x3+1)/3;dg1=diff(g1, x);g2=1/(3-x2);dg2=diff(g2, x);g3=(3*x-1)(1/3);dg3=diff(g3, x);disp(1 , num2str(abs(subs(dg1, x, x1), , . num2str(abs(subs(dg1, x, x2), , num2str(abs(subs(dg1, x, x3)disp(2 , num2str(abs(subs(dg2, x, x1), , . num2str(abs(subs(dg2, x, x2), , num2str(abs(subs(dg2, x, x3)disp(3 , num2str(abs(subs(dg3, x, x1), , . num2str(abs(subs(dg3, x, x2), , num2str(abs(subs(dg3, x, x3)附錄4:松弛迭代法(fulu4.m)syms fx gx x dgx;gx=(x3+1)/3;fx=x3-3*x+1;dgx=diff(gx, x);x=0.5;k=0;ggx=subs(gx, x, x);ffx=subs(fx, x, x);dgxx=subs(dgx, x, x);disp(k x w)while abs(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);end disp(num2str(k), , num2str(x), , num2str(w)附錄5: Altken 迭代法(fulu5.m) syms x fx gx;gx=(x3+1)/3;fx=x3-3*x+1;disp(k x x1 x2)x=0.5;k=0;ffx=subs(fx, x, x);while abs(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)附錄6:牛頓法(fulu6.m)syms x fx gx;fx=x3-3*x+1;gx=diff(fx, x);x1=-2;x2=0.5;x3=1.4;k=0;disp(k x1 x2 x3)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);while abs(fx1)0.0001|abs(fx2)0.0001|abs(fx3)0.0001;disp(num2str(k), ,

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論