[英]How to implement linear interpolation in python?
我想實現一個 function interpolate(x, y, X_new) 計算未知 function f 在新點 x_new 的線性插值。 樣本以兩個序列 x 和 y 的形式給出。 兩個序列具有相同的長度,並且它們的元素是數字。 x序列包含function已經被采樣的點,y序列包含對應點的function值。 (不使用 import 語句)。
據我了解你的問題,你想寫一些 function y = interpolate(x_values, y_values, x)
,它會給你一些x
的y
值? 基本思想遵循以下步驟:
x_values
中定義包含x
的區間的值的索引。 例如,對於x=3
與您的示例列表,包含區間將是[x1,x2]=[2.5,3.4]
,索引將是i1=1
, i2=2
(y_values[i2]-y_values[i1])/(x_values[i2]-x_values[i1])
計算此區間的斜率(即dy/dx
)。x
處的值現在是x1
處的值加上斜率乘以與x1
的距離。 您還需要確定如果x
在x_values
的區間之外會發生什么,或者這是一個錯誤,或者您可以“向后”插值,假設斜率與第一個/最后一個區間相同。
這有幫助嗎,還是您需要更具體的建議?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.