非線性方程求根 弦截法

2021-08-19 22:07:55 字數 709 閱讀 5410

個人學習筆記!

newton法要計算函式的導數,當導數不方便計算時,可以利用導數的定義,由相近點處函式值的差來近似,這就得到

弦截法公式

求解時需要給出 x0,x1兩個初始值。

收斂性:超線性收斂,且收斂階

注意:一般非線性方程有多個根,而弦截法只能得到所給初始值附近的乙個根。在應用弦截法時應注意這點

例題:求函式

import numpy as np

def f(x):

return x**3-7.7*x*x+19.2*x-15.3

x0 = 1

x1 = 1.655889

f0 = f(x0)

f1 = f(x1)

while(np.abs(x1-x0)>1e-5):

x2 = x1 - f1*(x1-x0)/(f1-f0)

x0,x1 = x1,x2

f0,f1 = f1,f(x1)

print('root:'.format(x2))

經過5次迭代,

輸出結果:1.7000,達到精度1e-5,迭代曲線如下:

非線性方程求根

假設本金為2000元,分2個月還,每個月還1100,月利率為x,則 2000 1 x c 1 x c 0,令f x 2000 1 x c 1 x c,當f x 0時,說明月利率太高了 當f x 0時說明月利率正確 當f x 0時,月利率過低。結果要求輸出三位小數。include include in...

非線性方程求根迭代法

一 寫在前面 實驗目的 1 熟悉非線性方程求根簡單迭代法,牛頓迭代及牛頓下山法 2 能程式設計實現簡單迭代法,牛頓迭代及牛頓下山法 3 認識選擇迭代格式的重要性 4 對迭代速度建立感性的認識 分析實驗結果體會初值對迭代的影響 實驗內容 本次實驗參考公式 二 實驗過程 參考 include inclu...

(matlab系列)非線性方程求根

非線性方程在5次以上的時候沒有求根公式 根據高等代數的阿貝爾群的概念得知 所以直接求解比較麻煩,需要借助解析幾何的工具,結合圖形採用特殊的方法求解 逼近法。主要有二分法 迭代法 包括牛頓迭代和割線法 逼近法的本質就是先給乙個估計值 近似值 作為方程解,然後對這個估計值一步一步地修正,使得它越來越像真...