Python 牛頓 Newton 插值法

2021-10-25 07:37:11 字數 871 閱讀 4212

"""

本函式用於通過牛頓插值法計算某點的函式值

先計算函式每一級的差商,然後計算函式值

"""# 存放自變數x的值 data 用於存放函式值以及差商

x =[0,

2,3,

5,6]

data =[[

0,8,

27,125,

216]

]# 用於存放待求值點 以及 計算結果

x_f =

5.5fun =

0# 計算每一級的差商

for i in

range(1

,len

(x))

: f =

for k in

range

(len

(x)- i)

: k =

-(k+1)

c =abs(

(data[i-1]

[k]-data[i-1]

[k-1])

/(x[k]

- x[k - i]))

f.reverse(

)# 依次通過差商計算結果

for i in

range

(len

(data)):

upper =

1for j in

range

(i):

upper *=

(x_f - x[j]

) fun += data[i][0

]* upper

print

('點 在此函式的插值結果為:'

.format

(x_f,fun)

)

牛頓(Newton)方法

設f x 具有連續的二階偏導數,當前迭代點是xk f x 在xk 處的ta ylor 展開式為f xk d fk gtk d 12 dtgk d o d 2 其中d x xk 在點xk 的鄰域內,用二次函式 qk d fk gtkd 12d tgkd 近似f xk d 求解問題 mi nqk d f...

Newton插值法 matlab實現

function y p newton x,y,x p x為插值節點的橫座標 y為插值節點的縱座標 x p 為需計算的插值函式值的橫座標 y p 為插值函式值 i length x 1 iter 1 num length x p y i y 1 y p for n 1 num dif quo 存放差...

Python 實現牛頓插值演算法

匯入標頭檔案 import matplotlib.pyplot as plt from pylab import mpl import numpy as np import pandas as pd import math matplotlib inline 得到差商表函式 def get diff...