范文為教學(xué)中作為模范的文章,也常常用來指寫作的模板。常常用于文秘寫作的參考,也可以作為演講材料編寫前的參考。大家想知道怎么樣才能寫一篇比較優(yōu)質(zhì)的范文嗎?這里我整理了一些優(yōu)秀的范文,希望對(duì)大家有所幫助,下面我們就來了解一下吧。
非線性方程的數(shù)值解法答案篇一
計(jì)算步驟如下:
例題:
2)不動(dòng)點(diǎn)迭代,也叫簡(jiǎn)單迭代。
隱式化為顯式,迭代法是一種逐次逼近法;
其中f(x)???才能滿足上述迭代格式。繼續(xù)迭代。
3)牛頓迭代法,實(shí)際上也叫切線法,是通過下面的方式推導(dǎo)出來的。
上述題目很簡(jiǎn)單,用牛頓法迭代就可以達(dá)到目的。我們先設(shè)f(x)?x?cosx?? 由公式得x?x??x?cosx??sinx
?我們用二分法的原理,我們?nèi)得x???,?x??x??cosx???sinx?x??cosx???sinx?x??cosx???sinx??????????
x??x???????cos???sin???.????
x??x???????cos?.??????sin?.??????.????
x??x?,并具有四位有效數(shù)字,所以只需迭代兩次就可以達(dá)到題目所需的精度要求
非線性方程的數(shù)值解法答案篇二
《
計(jì)
算
方
法
》
期 末 論 文
論文題目 非線性方程的數(shù)值解法
學(xué) 院 專 業(yè) 班 級(jí)
姓 名 學(xué) 號(hào) 指 導(dǎo) 教 師 日
期
目 錄
摘要 第1 章 緒論
1.1 問題的提出和研究目的和意義 1.2 國(guó)內(nèi)外相關(guān)研究綜述 1.3 論文的結(jié)構(gòu)與研究方法 第2 章 非線性方程的數(shù)值解法 2.1 二分法 2.2 迭代法
2.3 迭代法的局部收斂性及收斂的階 2.4 牛頓迭代法 2.5 牛頓法的改進(jìn) 2.6 插值
摘要
數(shù)值計(jì)算方法,是一種研究解決數(shù)學(xué)問題的數(shù)值近似解方法,它的計(jì)算對(duì)象是那些。
在理論上有解而又無法用手工計(jì)算的數(shù)學(xué)問題。在科學(xué)研究和工程技術(shù)中都要用到各種計(jì)算方法。例如在地質(zhì)勘探、汽車制造、橋梁設(shè)計(jì)、天氣預(yù)報(bào)和漢字設(shè)計(jì)中都有計(jì)算方法的蹤影。本文討論了非線性方程的數(shù)值解法:非線性方程的二分法、迭代法原理、牛頓迭代法,迭代法的收斂性條件及適合非線性方程的插值法等等。
第1 章 緒論
可以證明插值多項(xiàng)式l(x)n 存在并唯一。拉格朗日插值多項(xiàng)式的算法step1.輸入插值節(jié)點(diǎn)控制數(shù)n插值點(diǎn)序列 i i x , y i=0,1,…,n要計(jì)算的函數(shù)點(diǎn)x。 i =0,1,…,n i 制拉格朗日基函數(shù)序列問題的提出和研究目的和意義非線性方程的問題在工程實(shí)踐中有很多用途研究其數(shù)值解法是當(dāng)前一個(gè)研究方向。目前已有相當(dāng)一部分算法在廣泛使用于工程實(shí)踐中。非線性方程組和無約束最優(yōu)化的數(shù)值解法一直是數(shù)值優(yōu)化領(lǐng)域中熱門的研究課題。本文對(duì)傳統(tǒng)的方法進(jìn)行改進(jìn)和提出新的算法該算法不僅有重要的論價(jià)值,而且有很高的實(shí)用價(jià)值。例如在天體力學(xué)中,有如下kepler開普勒方程x-t-sin x=0,0< <1,其中t 表示時(shí)間x 表示弧度,行星運(yùn)動(dòng)的軌道x 是t 的函數(shù)。也就是說,對(duì)每個(gè)時(shí)刻i t 上述方程有唯一解i x,運(yùn)動(dòng)軌道位置。
國(guó)內(nèi)外相關(guān)研究綜述隨著科學(xué)技術(shù)的高速發(fā)展和計(jì)算機(jī)的廣泛應(yīng)用求解形如f(x)=0 的非線性方程組問題越來越多的被提出來了其中f 是的連續(xù)可微函數(shù)。例如非線性有限元問題、非線性斷裂問題、彈塑性問題、電路問題、電子系統(tǒng)計(jì)算以及經(jīng)濟(jì)與非線性規(guī)劃問題等都可轉(zhuǎn)化為非線性方程組的求解問題。只要包含有未知函數(shù)及其導(dǎo)函數(shù)的非線性項(xiàng)的微分方程,無論是用差分方法或有限元方法,離散化后得到的方程組都是非線性方程組。與線性方程組相比,非線性方程組的求解問題無論在理論上還是在解法上都不如線性方程組成熟和有效.例如,非線性方程組是否有解,有多少解,理論上都沒有很好的解法,而對(duì)于非線性方程組,除了形式極為特殊的小型方程組以外,直接解法幾乎是不可能的.因而,我們主要考慮迭代解法.一般都是采用線性化的方法去構(gòu)造各種形式的迭代系列.通常都要討論以下幾個(gè)基本問題:第一個(gè)問題是,迭代點(diǎn)列的適定性問題,即要求迭代點(diǎn)列是有意義的.例如對(duì)于牛頓法,jacobi 矩陣必須是非奇異的.第二個(gè)問題,也是最基本的問題,生成的迭代點(diǎn)列的收斂性以及極限點(diǎn)是否為方程組的解.最后一個(gè)問題是,迭代點(diǎn)列的收斂速度問題.早在七十年代以前, rheinboldt 系統(tǒng)的介紹了n 階非線性方程組的基本理論成果,并對(duì)牛頓法,延拓法等幾種主要迭代法作了詳盡的分析.另外,也有一些學(xué)者把非線性方程組的求解問題轉(zhuǎn)化為極小化問題, 得到一類稱為極小化方法的迭代法, 如下降法, 共軛方向法,gauss-newton 法等,李,莫&祁詳細(xì)介紹了一些適合在計(jì)算機(jī)上求解的有效算法,如broyden 算法,以及近十幾年來發(fā)展的新方法,如區(qū)間迭代法,單調(diào)迭代法和單純形法等.論文的結(jié)構(gòu)與研究方法
1.欲解決的主要問題是:綜合當(dāng)前各類非線性方程的數(shù)值解法,通過比較分析,二分法,迭代法,牛頓——雷扶生方法,迭代法的收斂階和加速收斂方法,解非線性方程的插值方法,這以上五種的算法應(yīng)用對(duì)某個(gè)具體實(shí)際問題選擇相應(yīng)的數(shù)值解法。
2.比較各類數(shù)值算法分析其優(yōu)缺點(diǎn)并應(yīng)用到具體的實(shí)際問題中。3.利用計(jì)算機(jī)matlab 語言對(duì)非線性方程的數(shù)值解法進(jìn)行程序設(shè)計(jì)。
研究的基本思路是結(jié)合目標(biāo)所提出的問題針對(duì)各種方法來具體分析比較
(1)二分法 起始區(qū)間[a,b]必須滿足f(a)與f(b)符號(hào)相反的條件。二分法的第一部是選擇中點(diǎn)c=(a+b)/2,然后分析可能存在的三種情況如果f(a)和f(c)符號(hào)相反,則在區(qū)間[a,c]內(nèi)存在零點(diǎn)。如果f(c)和f(b)符號(hào)相反則在區(qū)間[c,b]內(nèi)存在零點(diǎn)。如果f(c)=0,則c是零點(diǎn)。(2)迭代法 迭代是指重復(fù)執(zhí)行一個(gè)計(jì)算過程,直到找到答案。首先需要有一個(gè)用于逐項(xiàng)計(jì)算的規(guī)劃或函數(shù)g(x),并且有一個(gè)起始po。然后通過迭代規(guī)則k 1 p =g(k p),可得到序列值{ k p }。(3)牛頓——雷扶生法 如果f(x)f ‘(x)和f “(x)在根p 附近連續(xù)則可將它作為f(x)的特性,用于開發(fā)產(chǎn)生收斂到根p 的序列{ k p }的算法。而且這種算法產(chǎn)生序列{ k p }的速度比二分法快。牛頓——雷扶生法依賴于f’(x)和f ”(x)的連續(xù)性,是這類方法中已知的最有用和最好的方法之一。
(4)迭代法的收斂階和收斂方法、割線法只計(jì)算f(x)不計(jì)算f ’(x)而且在單根上的收斂階r 1.618033989。割線法比牛頓法收斂速度慢一些頓法的收斂階為2。當(dāng)p 是一個(gè)m 階根時(shí)要更好的求根技術(shù)以獲得比線性收斂更快的速度。最終結(jié)果顯示過對(duì)牛頓法進(jìn)行改進(jìn)使其在重根的情況下的收斂階為2。加速收斂方法有 aitken 加速法和steffensen 加速法。steffensen 算法是促使迭代加速收斂的有效算法,但該算法每算一步,需兩次迭代,其效率不夠高。
(5)解非線性方程的插值方法 lagrange 插值公式需要進(jìn)行提高插值多項(xiàng)式次數(shù)的插值計(jì)算是不方便的。這些方法它們各有優(yōu)缺點(diǎn) 二分法的優(yōu)點(diǎn)是對(duì)函數(shù)f(x)的性態(tài)要求不高,只需連續(xù)即可,且計(jì)算程序簡(jiǎn)單,能保證收斂。其缺點(diǎn)是收斂速度較慢只能求實(shí)函數(shù)的實(shí)零點(diǎn)重或奇數(shù)重零點(diǎn)。該方法一般用于確定方程根或函數(shù)實(shí)零點(diǎn)的粗略位置,為快速收斂的算法提供初值。newton 法的主要優(yōu)點(diǎn)是收斂速度快,缺點(diǎn)是其收斂性是局部收斂,要求初始值0 x 選在精確解* x 附近才能保證收斂。割線法迭代一次僅需計(jì)算函數(shù)值f(k x)可保留作為下次迭代用,且避免了計(jì)算導(dǎo)數(shù)。
第2 章 非線性方程的數(shù)值解法
滿足非線性方程f(x)=0 的解x ,稱為方程的根或零點(diǎn)。一般用迭代法求非線性方程的根。通常,非線性方程的根不是唯一的,而任何一種方法一次只能算出一個(gè)根。因此,在求解非線性方程時(shí),要給定初始條件或求解范圍。根可為實(shí)數(shù)或復(fù)數(shù),也稱為實(shí)根或復(fù)根。二分法
二分法是求方程近似解的一種簡(jiǎn)單直觀的方法。設(shè)函數(shù)f(x)在[a,b]上連續(xù),且f(a)f(b)<0,則f(x)在[a,b]上至少有一零點(diǎn)是微積分中的介值定理[1],也是使用二分法的前提條件。計(jì)算中通過對(duì)分區(qū)間縮小區(qū)間范圍的步驟搜索零點(diǎn)的位置。
二分法是對(duì)逐步搜索法的一種改進(jìn)。對(duì)于有根區(qū)間[ a, b ], 如果取x0=(a+ b)?2,則0 x 將其分為兩半;然后通過檢查f(0 x)與f(a)是否同號(hào)來判斷根的位置(見圖1)。
如此反復(fù)二分, 即可得出一系列的有根區(qū)間;其中,每個(gè)區(qū)間都是前一個(gè)區(qū)間的一半。當(dāng)k→∞時(shí), 該區(qū)間的大小趨近于零, 其值便為所求方程f(x)= 0 的根。由此可見, 二分法算法簡(jiǎn)單, 在允許的誤差范圍內(nèi)通過有限次的計(jì)算,總能求得方程在該有根區(qū)間的根。
二分法求根算法
計(jì)算f(x)=0 的一般計(jì)算步驟如下
step1入求根區(qū)間[a,b]和誤差控制量ε義函數(shù)f(x)。iff(a)f(b)〈0 〉then 做step2 else 退出選用其他求根方法 step 2while |a-b|>ε
計(jì)算中點(diǎn)x=(a+b)/2 以及f(x)的值;分情況處理 | f(x)|〈 ε 止計(jì)算x =x,轉(zhuǎn)向step4 f(a)f(x)<0正區(qū)間[a,x]->[a,b] f(x)f(b)<0: 修正區(qū)間[x,b]->[a,b] endwhile step 3: x =(a+b)/2。step 4:輸出近似根x。
二分法的算法簡(jiǎn)單而f(x)在[a,b]上有幾個(gè)零點(diǎn)時(shí)能算出其中一個(gè)零點(diǎn)一方面使f(x)在[a,b]上有零點(diǎn).也未必有f(a)f(b)<0。這就限制了二分法的使用范圍。二分法只能計(jì)算方程f(x)=0 的實(shí)根。迭代法
迭代法的局部收斂性及收斂的階
一種迭代過程,只有具備了收斂性,才能表明其迭代的有效性,同時(shí)還需要考察其迭代過程的收斂速度[3],即其在接近收斂的過程中迭代誤差的下降速度。迭代計(jì)算過程不收斂,可能是因?yàn)榈袷奖旧順?gòu)造不成功,那么算法必須重新構(gòu)造,也可能是初值選擇不當(dāng)這時(shí)往往可通過調(diào)整初值解決 牛頓迭代法
設(shè)r是f(x)= 0的根,選取x0作為r初始近似值,過點(diǎn)(x0,f(x0))做曲線y = f(x)的切線l,l的方程為y = f(x0)+f'(x0)(x-x0),求出l與x軸交點(diǎn)的橫坐標(biāo) x1 = x0-f(x0)/f'(x0),稱x1為r的一次近似值。過點(diǎn)(x1,f(x1))做曲線y = f(x)的切線,并求該切線與x軸交點(diǎn)的橫坐標(biāo) x2 = x1-f(x1)/f'(x1),稱x2為r的二次近似值。重復(fù)以上過程,得r的近似值序列,其中x(n+1)=x(n)-f(x(n))/f'(x(n)),稱為r的n+1次近似值,上式稱為牛頓迭代公式。
解非線性方程f(x)=0的牛頓法是把非線性方程線性化的一種近似方法。把f(x)在x0點(diǎn)附近展開成泰勒級(jí)數(shù) f(x)= f(x0)+(x-x0)f'(x0)+(x-x0)^2*f''(x0)/2!+… 取其線性部分,作為非線性方程f(x)= 0的近似方程,即泰勒展開的前兩項(xiàng),則有f(x0)+f'(x0)(x-x0)=0 設(shè)f'(x0)≠0則其解為x1=x0-f(x0)/f'(x0)這樣,得到牛頓法的一個(gè)迭代序列:x(n+1)=x(n)-f(x(n))/f'(x(n))。
軍人在進(jìn)攻時(shí)常采用交替掩護(hù)進(jìn)攻的方式,若在數(shù)軸上的點(diǎn)表示a,b兩人的位置,規(guī)定在前面的數(shù)大于后面的數(shù),則是a>b,b>a交替出現(xiàn)。但現(xiàn)在假設(shè)軍中有一個(gè)膽小鬼,同時(shí)大家又都很照顧他,每次沖鋒都是讓他跟在后面,每當(dāng)前面的人占據(jù)一個(gè)新的位置,就把位置交給他,然后其他人再往前占領(lǐng)新的位置。也就是a始終在b的前面,a向前邁進(jìn),b跟上,a把自己的位置交給b(即執(zhí)行b = a操作),然后a 再前進(jìn)占領(lǐng)新的位置,b再跟上……直到占領(lǐng)所有的陣地,前進(jìn)結(jié)束。像這種兩個(gè)數(shù)一前一后逐步向某個(gè)位置逼近的方法稱之為迭代法。
迭代法也稱輾轉(zhuǎn)法,是一種不斷用變量的舊值遞推新值的過程,跟迭代法相對(duì)應(yīng)的是直接法(或者稱為一次解法),即一次性解決問題。迭代算法是用計(jì)算機(jī)解決問題的一種基本方法。它利用計(jì)算機(jī)運(yùn)算速度快、適合做重復(fù)性操作的特點(diǎn),讓計(jì)算機(jī)對(duì)一組指令(或一定步驟)進(jìn)行重復(fù)執(zhí)行,在每次執(zhí)行這組指令(或這些步驟)時(shí),都從變量的原值推出它的一個(gè)新值。
利用迭代算法解決問題,需要做好以下三個(gè)方面的工作:
一、確定迭代變量。在可以用迭代算法解決的問題中,至少存在一個(gè)直接或間接地不斷由舊值遞推出新值的變量,這個(gè)變量就是迭代變量。
二、建立迭代關(guān)系式。所謂迭代關(guān)系式,指如何從變量的前一個(gè)值推出其下一個(gè)值的公式(或關(guān)系)。迭代關(guān)系式的建立是解決迭代問題的關(guān)鍵,通??梢允褂眠f推或倒推的方法來完成。
三、對(duì)迭代過程進(jìn)行控制。在什么時(shí)候結(jié)束迭代過程?這是編寫迭代程序必須考慮的問題。不能讓迭代過程無休止地重復(fù)執(zhí)行下去。迭代過程的控制通常可分為兩種情況:一種是所需的迭代次數(shù)是個(gè)確定的值,可以計(jì)算出來;另一種是所需的迭代次數(shù)無法確定。對(duì)于前一種情況,可以構(gòu)建一個(gè)固定次數(shù)的循環(huán)來實(shí)現(xiàn)對(duì)迭代過程的控制;對(duì)于后一種情況,需要進(jìn)一步分析出用來結(jié)束迭代過程的條件。
最經(jīng)典的迭代算法是歐幾里德算法,用于計(jì)算兩個(gè)整數(shù)a,b的最大公約數(shù)。其計(jì)算原理依賴于下面的定理:
定理:gcd(a, b)= gcd(b, a mod b)
證明:a可以表示成a = kb + r,則r = a mod b。假設(shè)d是a,b的一個(gè)公約數(shù),則有 a%d==0, b%d==0,而r = a-kb,因此r%d==0,因此d是(b, a mod b)的公約數(shù)
同理,假設(shè)d 是(b, a mod b)的公約數(shù),則 b%d==0 , r%d==0,但是a = kb +r,因此d也是(a,b)的公約數(shù)。
因此(a,b)和(b,a mod b)的公約數(shù)是一樣的,其最大公約數(shù)也必然相等,得證。
歐幾里德算法就是根據(jù)這個(gè)原理來做的,歐幾里德算法又叫輾轉(zhuǎn)相除法,它是一個(gè)反復(fù)迭代執(zhí)行,直到余數(shù)等于0停止的步驟,這實(shí)際上是一個(gè)循環(huán)結(jié)構(gòu)。其算法用c語言描述為:
int gcd_2(int a, int b)// 歐幾里德算法求a, b的最大公約數(shù)
{
if(a<=0 || b<=0)//預(yù)防錯(cuò)誤
return 0;
int temp;
while(b > 0)//b總是表示較小的那個(gè)數(shù),若不是則交換a,b的值
{
temp = a % b;//迭代關(guān)系式
a = b;//是那個(gè)膽小鬼,始終跟在b的后面
b = temp;//向前沖鋒占領(lǐng)新的位置
}
return a;
}
從上面的程序我們可以看到a,b是迭代變量,迭代關(guān)系是temp = a % b;根據(jù)迭代關(guān)系我們可以由舊值推出新值,然后循環(huán)執(zhí)a = b;b = temp;直到迭代過程結(jié)束(余數(shù)為0)。在這里a好比那個(gè)膽小鬼,總是從b手中接過位置,而b則是那個(gè)努力向前沖的先鋒。
還有一個(gè)很典型的例子是斐波那契(fibonacci)數(shù)列。斐波那契數(shù)列為:0、1、1、2、3、5、8、13、21、…,即 fib(1)=0;fib(2)=1;fib(n)=fib(n-1)+fib(n-2)(當(dāng)n>2時(shí))。
在n>2時(shí),fib(n)總可以由fib(n-1)和fib(n-2)得到,由舊值遞推出新值,這是一個(gè)典型的迭代關(guān)系,所以我們可以考慮迭代算法。
int fib(int n)//斐波那契(fibonacci)數(shù)列
{
if(n < 1)//預(yù)防錯(cuò)誤
return 0;
if(n == 1 || n == 2)//特殊值,無需迭代
return 1;
int f1 = 1, f2 = 1, fn;//迭代變量
int i;
for(i=3;i<=n;++i)//用i的值來限制迭代的次數(shù)
{
fn = f1 + f2;//迭代關(guān)系式
f1 = f2;//f1和f2迭代前進(jìn),其中f2在f1的前面
f2 = fn;
}
return fn;} 參考文獻(xiàn):
1.百度百科 2.豆丁網(wǎng)
非線性方程的數(shù)值解法答案篇三
上機(jī)作業(yè)總體要求:
1. 2. 開發(fā)語言可用任一種高級(jí)語言 作業(yè)包括
1)一份實(shí)驗(yàn)報(bào)告
2)電子版作業(yè)的全套(壓縮后提交在webcc上),包括: ? 程序源代碼; ? 可執(zhí)行程序; ? 電子版實(shí)驗(yàn)報(bào)告(內(nèi)容包括:
一、實(shí)驗(yàn)?zāi)康?/p>
二、模型建立
三、模型求解 3.1 開發(fā)環(huán)境
3.2 程序設(shè)計(jì)說明(要求設(shè)計(jì)為通用的)3.3 源代碼 3.4 程序使用說明 3.5 模型的解
四、小結(jié)(可含個(gè)人心得體會(huì)))
第六章逐次逼近法
§ 3 非線性方程的迭代解法 上機(jī)實(shí)驗(yàn)題
求 x5-3x3+x-1= 0 在區(qū)間[-8,8〕上的全部實(shí)根.試分別用:
(1)二分法;(2)newton法;(3)弦截法(割線法);(4)newton下山法;求方程的根.準(zhǔn)確到6位有效數(shù)字.要求:討論求解的全過程,對(duì)所用算法的局部收斂性,優(yōu)缺點(diǎn)等作分析及比較.以實(shí)驗(yàn)報(bào)告的形式提交.完成時(shí)間:5月18日
非線性方程的數(shù)值解法答案篇四
非線性方程牛頓迭代法與斯特芬森迭代法的研究與比較
申林堅(jiān)
(南昌航空大學(xué) 測(cè)試與光電工程學(xué)院 江西 南昌 330063)
摘要:本文針對(duì)一個(gè)具體的非線性方程3x2?ex?0進(jìn)行研究,首先作出了了函數(shù)
f(x)?3x2?ex的圖像,大體判定其零點(diǎn)(即方程解)在(3,4)區(qū)間內(nèi),接著用牛頓迭代法和斯特芬森迭代法進(jìn)行求解分析,牛頓法的迭代公式為 xk?1?xk?f(xk),f?(xk)斯特芬森迭代法公式為
yk??(xk),zk??(yk),(yk?xk)2
xk?1?xk?,zk?2yk?xk記錄兩種方法求得指定精度解所需迭代次數(shù)及所需計(jì)算時(shí)間,并對(duì)其優(yōu)缺點(diǎn) 進(jìn)行了分析。
關(guān)鍵詞:非線性方程;牛頓迭代法;斯特芬森迭代法
引言
非線性是實(shí)際問題中經(jīng)常出現(xiàn)的,并且在科學(xué)與工程計(jì)算中的地位越來越重要,很多我們熟悉的線性模型都是在一定條件下由非線性問題簡(jiǎn)化得到的,為得到 更符合實(shí)際的解答,往往需要直接研究非線性模型,從而產(chǎn)生非線性科學(xué),它是21世紀(jì)科學(xué)技術(shù)發(fā)展的重要支柱。本論文通過對(duì)特定非線性方程3x2?ex?0進(jìn)行求解,介紹了兩種常用的迭代法牛頓迭代法和斯特芬森迭代法,詳盡闡述了其各自的數(shù)學(xué)幾何原理及優(yōu)缺點(diǎn)比較,從而更深入的理解非線性方程的迭代法求解。
正文
一.作出f(x)的圖像,確定隔根區(qū)間 在matlab中輸入以下指令并回車:
x=(-10:0.001:10);y=3*x.^2-exp(x);plot(x,y);
grid on;0.5x 1040-0.5-1-1.5-2-2.5-10-8-6-4-20246810
圖1 得到圖1所示f(x)的圖像,易知,當(dāng)x??10及x?10時(shí),f(x)無零點(diǎn) 將y軸方向放大,輸入命令axis([-10 10-2 2]),得到圖2
21.510.50-0.5-1-1.5-2-10-8-6-4-20246810
圖2 可知函數(shù)有三個(gè)零點(diǎn),隔根區(qū)間為(-2,0),(0,2),(2,4)將x軸方向放大,輸入命令axis([-2 4-2 2]),得到圖3 21.510.50-0.5-1-1.5-2-2-101234
圖3 可將隔根區(qū)間進(jìn)一步縮小為(-1,0),(0,1),(3,4)
二.牛頓迭代法求區(qū)間(3,4)中的根
對(duì)于方程f(x)?0,如果f(x)是線性函數(shù),則它的求根是容易的。牛頓法實(shí)質(zhì)上是一種線性化方法,其基本思想是將非線性方程f(x)?0逐步歸結(jié)為某種非線性方程來求解。
設(shè)已知方程f(x)?0有近似根xk(假定f?(xk)?0),將函數(shù)在點(diǎn)xk展開,有
f(x)?f(xk)?f?(xk)(x?xk),于是方程f(x)?0可近似表示為
f(xk)?f?(xk)(x?xk)?0.這是個(gè)線性方程,記其根為xk?1,則xk?1的計(jì)算公式為
xk?1?xk?這就是牛頓法。
f(xk),k?0,1,..., f?(xk)牛頓法有明顯的幾何解釋。方程f(x)?0的根x可解釋為曲線y?f(x)與x軸的交點(diǎn)的橫坐標(biāo)。設(shè)xk是根x的某個(gè)近似值,過曲線y?f(x)上橫坐標(biāo)為xk的點(diǎn)pk引切線,并將該切線與x軸的交點(diǎn)的橫坐標(biāo)xk?1作為x的新的近似值。注意到切線方程為
***y?f(xk)?f?(xk)(x?xk)
這樣求得的值xk?1必滿足f(xk)?f?(xk)(x?xk)?0。由于這種幾何背景,牛頓法亦稱切線法。
下面列出牛頓法的計(jì)算步驟:
步驟1 準(zhǔn)備 選定初始近似值x0,計(jì)算f0?f(x0),f0??f?(x0)步驟2 迭代 按公式
x1?x0?f0 f0?迭代一次,得到新的近似值x1,計(jì)算f1?f(x1),f1??f?(x1)
步驟3 控制 如果x1滿足哦???1或f1??2,則終止迭代,以x1作為所求的根;否則轉(zhuǎn)步驟4.此處?1,?2是允許誤差,而
x1?x0,當(dāng)x1?c時(shí), ??x1?x0,當(dāng)x1?c時(shí),x1其中c是取絕對(duì)誤差或相對(duì)誤差的控制常數(shù),一般可取c=1.步驟4 修改 如果迭代次數(shù)達(dá)到預(yù)先指定的次數(shù)n,或者f1??0,則方法失?。环駝t以(x1,f1,f1?)代替(x0,f0,f0?)轉(zhuǎn)步驟2繼續(xù)迭代
matlab計(jì)算程序如下,取初始迭代值x0=3:
i=0;y=3;z=1;
while(i<=100&&z>=10^(-8))x=y;
y=x-(3*x^2-exp(x))/(6*x-exp(x));
if abs(y)<1 z=abs(y-x);
else
z=abs((y-x)/y);
end i=i+1;end
format long;disp(y);disp(i);
輸出結(jié)果為y= 3.***,i=9 可知,使用牛頓迭代法,初值為3時(shí),需迭代9次可使eps<10^-8,近似解為3.73307903
三.斯特芬森迭代法求區(qū)間(3,4)中的根
埃特金方法不管原序列{xk}是怎樣產(chǎn)生的,對(duì){xk}進(jìn)行加速計(jì)算,得到序列{xk}。如果把埃特金加速技巧與不動(dòng)點(diǎn)迭代結(jié)合,可得到如下的迭代法:
yk??(xk),zk??(yk),k?xk)xk?1?xk?z(ky?2yk?xk,2k?0,1,...*稱為斯特芬森迭代法。它可以這樣理解,我們要求x??(x)的根x,令?(x)??(x)?x,?(x*)??(x*)?x*?0,已知x*的近似值xk及yk,其誤差分別為
?(xk)??(xk)?xk?yk?xk
?(yk)??(yk)?yk?zk?yk
把誤差“外推到零”,即過?xk,?(xk)?及?yk,?(yk)?兩點(diǎn)做線性插值函數(shù),它與x軸交點(diǎn)就是xk?1,即方程
?(xk)?的解
?(yk)??(xk)yk?xk(x?xk)?0
?(xk)(yk?xk)2x?xk?(yk?xk)?xk??xk?1
?(yk)??(xk)zk?2yk?xk斯特芬森迭代法的另一種表達(dá)方式如下:
xk?1??(xk),k?0,1,...,其中
?(x)?x????x??x?2?(?(x))?2?(x)?x.實(shí)驗(yàn)表明,即便用不動(dòng)點(diǎn)迭代法不收斂,用斯特芬森迭代法仍可能收斂。
1.取?(x)?ln(3x),迭代初值為3進(jìn)行迭代,matlab程序如下:
i=0;y=3;z=1;
while(i<=1000&&z>=10^(-8))x=y;
y1=log(3*x^2);
y=x-(y1-x)^2/(log(3*y1^2)-2*y1+x);
if abs(y)<1 z=abs(y-x);
else
z=abs((y-x)/y);
end i=i+1;end
format long;disp(y);disp(i);2輸出結(jié)果為y= 3.***,i=4;可知,使用斯特芬森迭代法,取不動(dòng)點(diǎn)函數(shù)為?(x)?ln(3x),初值為3時(shí),需迭代4次可
2使eps<10^-8,近似解為3.73307903,與牛頓迭代法結(jié)果吻合。
2.取?(x)?3x2?ex?x,迭代初值為3進(jìn)行迭代,matlab程序如下:
i=0;y=3;z=1;
while(i<=1000&&z>=10^(-8))x=y;
y1=3*x^2-exp(x)+x;
y=x-(y1-x)^2/(3*y1^2-exp(y1)+y1-2*y1+x);
if abs(y)<1 z=abs(y-x);
else
z=abs((y-x)/y);
end i=i+1;end
format long;disp(y);disp(i);
輸出結(jié)果為y= 3.***,i=147;可知,使用斯特芬森迭代法,取不動(dòng)點(diǎn)函數(shù)為?(x)?3x?e?x,初值為3時(shí),需迭代147次可使eps<10^-8,近似解為3.73307903
2xex3.取?(x)?,迭代初值為3進(jìn)行迭代,matlab程序如下:
3i=0;y=3;z=1;
while(i<=1000&&z>=10^(-8))x=y;
y1=sqrt(exp(x)/3);
y=x-(y1-x)^2/(sqrt(exp(y1)/3)-2*y1+x);
if abs(y)<1 z=abs(y-x);
else
z=abs((y-x)/y);
end i=i+1;end
format long;disp(y);disp(i);輸出結(jié)果為y= 3.***,i=10;
ex可知,使用斯特芬森迭代法,取不動(dòng)點(diǎn)函數(shù)為?(x)?,初值為3時(shí),需迭代10次可
3使eps<10^-8,近似解為3.73307903 由以上三種不同迭代函數(shù)可知,迭代函數(shù)不同,斯特芬森迭代法的迭代次數(shù)不同。綜合比較
牛頓法的迭代函數(shù)固定,收斂速度較快,但求f?(x)可能比較繁瑣
斯特芬森迭代法收斂速度快,但要選擇合適的迭代函數(shù),因次如何構(gòu)造一個(gè)合適的迭代函數(shù)成為關(guān)鍵。
參考文獻(xiàn)
[1]蔡旭暉 劉衛(wèi)國(guó) 蔡立燕 matlab基礎(chǔ)與應(yīng)用教程 北京:人民郵電出版社 2009 [2]李慶揚(yáng) 王能超 易大義 數(shù)值分析(第5版)北京:清華大學(xué)出版社 2008 [3]高成 賴志國(guó) matlab圖像處理與應(yīng)用(第2版)北京:國(guó)防工業(yè)出版社 2007
the research and comparison of newton's iterative method and steffen sen iteration method for nonlinear equation
shen linjian(nanchang institute of test and opto electronic engineering, jiangxi university of aeronautics and astronautics, nanchang 330063)abstract: in this paper, a specific nonlinear equation is studied, firstly, the function of the image, generally determine its zero(the equation solution)in the(3,4)interval, followed by newton iterative method and steffen sen iteration method for analysis, newton iterative formula for, steffen sen iterative formula for the record of the two methods to obtain the specified accuracy of the required number of iterations and the required calculation time, and its advantages and disadvantages are words: nonlinear equation;newton iterative method;steffen sen iteration method
個(gè)人心得體會(huì)
首先,我覺得課堂教學(xué)條件比較差,那么大的一個(gè)教室坐滿了人,不能保證每個(gè)學(xué)生能夠聽清,看清每一個(gè)知識(shí)點(diǎn)。因此建議以后可開展小班教學(xué)。其次,坦率得說,關(guān)于這門課的知識(shí)點(diǎn),我完全是通過自學(xué)獲得的,從課堂上得到的少之又少,并不是老師講的不好,只是數(shù)學(xué)本就枯索抽象,在課堂上并不能馬上領(lǐng)悟,因而沒有興趣繼續(xù)聽下去。我相信,很大一部分同學(xué)是跟我有同感的。
另外,大作業(yè)這種考查形式還是不錯(cuò)的,并不是很難,但要花功夫。在完成大作業(yè)的過程中,其實(shí)是一個(gè)對(duì)所學(xué)知識(shí)深入在理解的過程,通過與matlab相結(jié)合,提升了自己運(yùn)用所學(xué)知識(shí)解決實(shí)際問題的能力。
我是比較贊同老師對(duì)學(xué)生嚴(yán)格要求的,但并不是給一個(gè)高高在上的目標(biāo),讓學(xué)生難以企及,而是要循循善誘,但凡有一點(diǎn)上進(jìn)心都能有所收獲,在這點(diǎn)上我感覺鄭老師做得不錯(cuò)。
最后,我覺得在教學(xué)過程中可以引進(jìn)給出問題,課堂小組討論這種形式。讓學(xué)生自己來學(xué)習(xí)。當(dāng)然,這是建立在小班教學(xué)的基礎(chǔ)上的。以上僅是個(gè)人的一點(diǎn)拙見,請(qǐng)老師參考。
非線性方程的數(shù)值解法答案篇五
1、課程代碼
07002742、課程名稱(中、英文)
非線性光學(xué)
nonlinear optics
3.授課對(duì)象
物理基地班、物理學(xué)類、應(yīng)用物理專業(yè)學(xué)生
4、學(xué)分
35、修讀期
第七學(xué)期
6、課程組負(fù)責(zé)人
主講教師:熊貴光,教授
7、課程簡(jiǎn)介
非線性光學(xué)是光學(xué)的重要分支學(xué)科之一。學(xué)習(xí)非線性光學(xué)課程主要是使學(xué)生能掌握激光與物質(zhì)相互作用以及非線性光學(xué)效應(yīng)的基本理論和機(jī)制,并能了解非線性光學(xué)在其它領(lǐng)域中的重要應(yīng)用。該課程的主要內(nèi)容有:非線性電極化的宏觀理論和微觀理論,各種二階非線性光學(xué)效應(yīng)的原理,各種三階參量和非參量非線性光學(xué)效應(yīng)的原理及應(yīng)用,以及非線性激光光譜學(xué)的原理及應(yīng)用等。
8.實(shí)踐環(huán)節(jié)學(xué)時(shí)與內(nèi)容或輔助學(xué)習(xí)活動(dòng)
9. 課程考核
考試
10.指定教材
《the principles of nonlinear optics》john wiley &sons,inc.1984.(in english)
11.參考教材
熊貴光編著《非線性光學(xué)》,武漢大學(xué)出版社 1995.3
錢士雄 王恭明編著 《非線性光學(xué)》復(fù)旦大學(xué)出版社2001.10 [第1-13章]。
【本文地址:http://aiweibaby.com/zuowen/1577869.html】