1、迭代公式
將 f (x)在點xk做taylor展開f(x)=f(xk)+f』(xk)(x-xk)+…,則有
x(k+1)=x(k)- f (x(k))/f』(x(k))
2、牛頓法的幾何意義
由上式可知,如果如果我們選擇x0作為初始點,點(x0,f(x0))的切線方程為y-f(x0)=f』(x0)(x-x0),該切線方程與x軸交點的橫座標為
x(1)=x(0)- f (x(0))/f』(x(0)),然後以x1為初始點,繼續迴圈上述過程。在該過程中,不斷的對f(x)做切線,因此牛頓迭代法也叫且憲法。
3、牛頓法的收斂性
設f (x)在[a, b]上存在二階連續導數且滿足下列條件:
(1)f (a)*f (b) < 0;
(2)f』(x) ≠0;
(3)f』』(x) 在區間[a,b]上不變號;
(4)取x0∈ [a, b],使得f』』(x)f (x0) >0
則牛頓迭代序列二階收斂於f (x)在[a, b]上的唯一單根x。
需要注意的是,牛頓迭代法的收斂性取決於x0的選擇。
二、matlab程式
```bash
clcclear
syms x
h=x.^3+x.^2-1;
fplot(h)
;x0=nw(h,1,100)
;function result=nw(h,x,n)
f=matlabfunction(h)
; %將符號函式變為匿名函式h=@(x) x.^3+x.^2-1
f1=matlabfunction(diff(h))
;x(1)
=x;i=2;
while 1
x(i)
=x(i-1)-f(x(i-1))/f1(x(i-1))
;if abs(f(x(i))
)<1e-6
result=x(i)
;return
; end
if i>n
result=x(i)
;return
; end
i=i+1;
endend
MATLAB牛頓迭代法
這裡是乙個一元函式的簡單 牛頓迭代法 function x,n,xn,yn newiteration fun,dfun,x0,eps fun為目標函式,dfun為目標函式的一階導數,x0為起始點,eps為精度 a feval fun,x0 b a 1 n 0 建立畫圖的點 xn zeros 5,1 ...
牛頓迭代法 matlab實現
牛頓迭代法又稱為切線法,簡單來說就是不斷求切線與x軸的交點,來逐漸接近解的迭代過程。方法使用函式f x 的泰勒級數的前面幾項來尋找方程f x 0的根。具體迭代的方法可以看度娘的解釋,或者相關的教材。今天來介紹下簡單的matlab的實現。使用了三個.m檔案來實現,分別是原函式 需要迭代的函式 檔案 牛...
牛頓迭代法
創新工廠的筆試題 不用庫函式sqrt 求乙個整型數n的開方,要求精度達到0.001即可。在這裡首先介紹一下牛頓迭代法 假設乙個方程為 f x 0 那麼假設其解為x0,則用泰勒級數展開之後可得 f x f x0 f x0 x x0 0 其中x為其近似解。根據上式推導出 x x0 f x0 f x0 這...