いくつかの単語の。
Nowton補間多項式(非等距離ノード)コード:
1 #- * -コーディング:UTF-8 - * -
2 "" "
3。 作成し、マル水25午前15時43分42秒2020 ON
4。
5 :@author 35035
6。 """
7。
8。
9。 インポートnumpyのNP AS
10
11。 #ニュートン補間多項式
12である DEF Newton_iplt(X、Y、XI):
13は " "" X、Yは、補間ノードアレイは、XIがの値である"""
14
15 N- = LEN(X)
16 、M = LEN(Y)
。17 IF N- != メートル:
18は、 印刷(' エラー!')
19 リターンなし
20はありません #算出された第1の差分商テーブル(CS)
21は CS = []
22である TEMP = y.copy()
23である ため I におけるレンジ(N):
24 用の J でレンジ(N-I):
25 IF I! = 0:
26である TEMP [J] =(TEMP [J] - TEMP [J - 1])/(X [J] - X [J - I])
27 cs.append(TEMP [I])
28 #の再計算ニュートン補間
29 ANS = 0
30 のための I におけるレンジ(N):
31であります 。W = 1
32 #評価多項式部分、その結果、差分商テーブル係数として
33がある ために J でレンジ(I):
34である W * =(XI - X [J])
35 ANS + = W * CS [I]
36 リターンANS
37 [
38である #マップを用いてラグランジュ補間を用いて、複数の値は、()のマッピングを確立するとき:
39 #イテレータ=マップ(ラグランジュ、反復処理可能)
40
41である 。#内蔵DTYPEフロートとして、コンピューティングに関与使用float値算出
42は X = NP .ARRAYは((100、121)、DTYPE = フロート)
43が Y = np.array((10 ,. 11)、DTYPE = フロート)
44が プリント(Newton_iplt(X、Y、115))
45 #のテストに成功!
在Nowton插值多项式中,差商表的计算至关重要,而对于等距节点的Newton插值,则转为计算差分表。