插值思想
對於任意n個點,都可以用一條曲線連線起來,這條曲線的表示式為:
對於兩個點(x1,y1),(x2,y2),這條曲線為:
根據插值點數不同觀察插值函式的規律
**實現
插值展示import matplotlib.pyplot as plt
import numpy as np
import math
import random
y_point =
text_list =
x_point = random.sample(
range(0
,12),
10)#生成不重複的隨機數
for num in
range(10
):1,
12))#生成1-20隨機整數
text=
'('+
str(x_point[num])+
','+
str(y_point[num])+
')'#合併字串
plt.annotate(text_list[num]
,xy=
(x_point[num]
,y_point[num]
),xytext=
(x_point[num]
+0.5
,y_point[num]
+0.5))
#annotate第乙個引數是文字內容 第二個引數是要標記的位置 第三個引數是文字標記位置
x = np.arange(
min(x_point)
,max
(x_point)
+0.01
,0.01
)sum=0
for i in
range
(len
(x_point)):
numerator =
1 denominator =
1for j in
range
(len
(x_point)):
if(j != i)
: numerator *= x - x_point[j]
#每一項中的分子
denominator *= x_point[i]
- x_point[j]
#每一項中的分母
nape = y_point[i]
* numerator / denominator #每一項
sum+= nape
plt.scatter(x_point,y_point, marker=
".")
plt.plot(x,
sum)
plt.show(
)

對(1,1),(2.25,1.5),(4,2)三個點進行插值:
修改**x_point,y_point列表值作為二維空間資料元素座標即可
**說明import matplotlib.pyplot as plt
import numpy as np
import math
import random
x_point =[1
,2.25,4
]y_point =[1
,1.5,2
]text_list =
for num in
range(3
):text=
'('+
str(x_point[num])+
','+
str(y_point[num])+
')'#合併字串
plt.annotate(text_list[num]
,xy=
(x_point[num]
,y_point[num]
),xytext=
(x_point[num]
+0.1
,y_point[num]
+0.1))
#annotate第乙個引數是文字內容 第二個引數是要標記的位置 第三個引數是文字標記位置
x = np.arange(
min(x_point)
,max
(x_point)
+0.01
,0.01
)sum=0
for i in
range
(len
(x_point)):
numerator =
1 denominator =
1for j in
range
(len
(x_point)):
if(j != i)
: numerator *= x - x_point[j]
#每一項中的分子
denominator *= x_point[i]
- x_point[j]
#每一項中的分母
nape = y_point[i]
* numerator / denominator #每一項
sum+= nape
plt.scatter(x_point,y_point, marker=
".")
plt.plot(x,
sum)
plt.show(
)
待插值數值點
x_point,y_point散點文字標記,迴圈次數為散點數量,plt.annotate引數->xytext引數可適當修改
插值範圍,可做修改
拉格朗日插值演算法分析
這幾天一直研究拉格朗日多項式,今天將自己對拉格朗日多項式的理解寫在這裡,方便大家交流。在數值分析中,拉格朗日常用於多項式插值。假定提供一組資料點 xi,yi 拉格朗日插值多項式就是由這些 資料的線性運算得到的。其中基本的多項式有以下公式計算得到 注意1.第一提供的xi應該是沒有相同的,否則不能應用此...
拉格朗日插值
拉格朗日插值基函式 li x x x 0 x xi 1 x xi 1 x x n x i x0 xi xi 1 xi xi 1 xi xn 拉格朗日差值函式 ln x i 0 nyil i x 其中,x為缺失值對應的下表序號,ln x 為缺失值的插值結果,xi 為缺失值yi 的下表序號。對全部缺失值...
拉格朗日插值
function s larg1 x,y,xi m length x 求出插值節點向量長度 n length y if m n error 向量x與y的長度必須一致 這裡肯定一致,只是為了消除直接選取x,y資料的時候出錯而設定的 end s 0 for i 1 n z ones 1,length x...