1牛頓迭代法的簡介

2022-08-14 08:30:09 字數 2181 閱讀 7889

1.1 牛頓迭代法的概述

牛頓迭代法(newton's method)又稱為牛頓-拉夫遜方法(newton-raphson method),它是牛頓在17世紀提出的一種在實數域和複數域上近似求解方程的方法。多數方程不存在求根公式,因此求精確根非常困難,甚至不可能,從而尋找方程的近似根就顯得特別重要。方法使用函式f(x)的泰勒級數的前面幾項來尋找方程f(x) = 0的根。

設r是f(x) = 0的根,選取x0作為r初始近似值,過點(x0,f(x0))做曲線y = f(x)的切線l,l的方程為y = f(x0) f'(x0)(x-x0),求出l與x軸交點的橫座標 x1 = x0-f(x0)/f'(x0),稱x1為r的一次近似值。過點(x1,f(x1))做曲線y = f(x)的切線,並求該切線與x軸的橫座標 x2 = x1-f(x1)/f'(x1),稱x2為r的二次近似值。重複以上過程,得r的近似值序列,其中x(n+1)=x(n)-f(x(n))/f'(x(n)),稱為r的n+1次近似值,上式稱為牛頓迭代公式。

解非線性方程f(x)=0的牛頓法是把非線性方程線性化的一種近似方法。把f(x)在x0點附近展開成泰勒級數 f(x) = f(x0)+(x-x0)f'(x0)+(x-x0)^2*f''(x0)/2! +… 取其線性部分,作為非線性方程f(x) = 0的近似方程,即泰勒展開的前兩項,則有f(x0)+f'(x0)(x-x0)=f(x)=0 設f'(x0)≠0則其解為x1=x0-f(x0)/f'(x0) 這樣,得到牛頓法的乙個迭代序列:

x(n+1)=x(n)-f(x(n))/f'(x(n))。

1.2 牛頓迭代法的優點

迭代法是求方程近似根的乙個重要方法,也是計算方法中的一種基本方法,它的演算法簡單,是用於求方程或方程組近似根的一種常用的演算法設計方法。

牛頓迭代法是求方程根的重要方法之一,其最大優點是在方程f(x) = 0的單根附近具有平方收斂,而且該法還可以用來求方程的重根、復根。

牛頓法是方程求根的乙個有力方法,常常能快速求出其他方法求不出或者難以求出的解。假定有乙個函式y=f(x),方程f(x)=0在 x = r 處有乙個根,對於此根,先估計乙個初始值 xo(可以是猜測的)。得到乙個更好的估計值x1。

為此f(x)=xo處作該曲線的切線,並將其延長與 x 軸相交。切線與x軸的交點通常很接近 r ,我們用它作為下乙個估計值x1,求出x1後,用x1代替xo。重複上述過程,在x=x1處作曲線的另一條切線,並將其延長至與x軸相交,用切線的x軸截距作為下乙個近似值x2……這樣繼續下去,所得出的這個x軸截距的序列通常迅速接近根r。

2牛頓迭代可行性的分析

2.1牛頓迭代法的思想

多數情況下是得不到一般數學方法所需的函式表示式,或難以找到原函式。線性方程組的求解更是讓人望而生畏,往往因為計算機工作量太大而無法實施。對這些問題,都可以利用數值方法來求解,在計算機中實現的數值方法也稱為數值演算法。

牛頓迭代法是數值分析中乙個重要的計算方法和思想。迭代法的主要功能:計算方程時可以比較快速。

在工程實踐中,有許多問題往往歸結為求一元非線性方程的實根、求函式的定積分、求線性方程組的解等。而即使對於求一元方程實根這類問題,也只有在少數簡單的情況下,才可以用傳統的方法得到根的數學表示式。對於需要計算定積分的問題,便的計算出來結果但並不影響計算出來結果的精確度,運用於多種工業設計和數學設計方面。

牛頓迭代法用到導數f'(x),但有時求導困難,如果導數用差商(y2-y1)/(x2-x1)逼近,便是一種快速的截弦法。取兩個x值作試探,判斷f(x)是否副近於0,如果f(x)不理想,用經過(x1,y1)、(x2,y2)的直線(截弦)代替f(x)求根,近似根x外推=x1-(x2-x1)*y1/(y2-y1),此x靠性會更好些。求根過程:

是疊代過程,即由(x1,x2)→f(x1)、f(x2)、f(x中)或f(x外推)→(x1,x2),大寫x1,x2就是下一輪計算的小寫x1,x2,二分法、截弦法、牛頓迭代法計算公式不同,乙個用中值外推,後二者用直線外推,二者用直線外推,但它們計算過程幾乎相同,具體程式詳見本源**。對截弦法而言,x1,y1是起點,x2,y2直的控制點,,x1,y1是起點,x2,y2直的控制點,x2不能與x1相等,否則直線畫不出來,但x1與x2應盡量靠近,遠了作出的直線準確度下降。在求根過程中會用到牛頓迭代偽**:

牛頓迭代法偽**:

x1=-2,y1=f(x1)

x2=-2,y2=f(x2)

while(){//迴圈

x=x1-(x2-x1)*y1/(y2-y1),y=f(x)

如果|x-x2|<0.01或y為0則跳出迴圈

x1=x2,y1=y2

x2=x,y2=y

計算方法矩陣直接法與迭代法

需要兩份東西 1 實驗程式 輸入 輸出 注釋 2 實驗報告 問題描述 方法描述 方案設計 結果分析 結論 謝謝,麻煩寫的詳細些 實驗五解線性方程組的直接方法 實驗5.1 主元的選取與演算法的穩定性 問題提出 gauss消去法是我們 性代數中已經熟悉的。但由於計算機的數值運算是在乙個有限的浮點數集合上...

迭代法求解方程問題實驗報告

姓名 殷伯旭班級 信計0801班學號 u200810065 一 實驗目的 運用數學知識與matlab相結合,運用數學方法,建立數學模型,用matlab軟體輔助求解模型,解決實際問題。二 實驗任務 求方程的乙個近似解,誤差不超過,要求 設計4種求解的迭代法,討論其收斂性,並求出滿足精度的近似解 三 實...

計算方法實驗1塞德爾迭代法求解線性方程組

一 實驗目的與任務 1 熟悉塞德爾迭代法求解線性方程組的方法 2 用塞德爾迭代法解線性方程組 迭代五次 並與精確解比較。二 實驗涉及的相關知識點 使用賽德爾迭代法解線性方程組,可把性質良好的方程組 ax b 按一定途徑轉換成 x bx g 對任給初始向量 由迭代公式 得到向量序列 當迭代序列收斂於解...