Hướng dẫn how to interpolate between two values in python - cách nội suy giữa hai giá trị trong python

Chúng ta có thể dễ dàng vẽ nó trên biểu đồ mà không có Python:

Điều này cho chúng ta thấy câu trả lời nên là gì [13].

Nhưng làm thế nào để chúng ta tính toán điều này? Đầu tiên, chúng tôi tìm thấy độ dốc với điều này:

Các số được thay thế vào phương trình đưa ra điều này:

Vì vậy, chúng tôi biết với 0,625 chúng tôi tăng giá trị y bằng, chúng tôi tăng giá trị x lên 1.

Chúng tôi đã được cho rằng Y là 100. Chúng tôi biết rằng 102,5 liên quan đến 17. 100 - 102.5 = -2.5. -2.5 / 0.625 = -4 và sau đó 17 + -4 = 13.

Điều này cũng hoạt động với các số khác:

def findYPoint[xa,xb,ya,yb,xc]:
    m = [ya - yb] / [xa - xb]
    yc = [xc - xb] * m + yb
    return yc
0,
def findYPoint[xa,xb,ya,yb,xc]:
    m = [ya - yb] / [xa - xb]
    yc = [xc - xb] * m + yb
    return yc
1,
def findYPoint[xa,xb,ya,yb,xc]:
    m = [ya - yb] / [xa - xb]
    yc = [xc - xb] * m + yb
    return yc
2.

Chúng ta cũng có thể đi ngược lại bằng cách sử dụng đối ứng của gradient [

def findYPoint[xa,xb,ya,yb,xc]:
    m = [ya - yb] / [xa - xb]
    yc = [xc - xb] * m + yb
    return yc
3].

Chúng tôi đã được cho rằng X là 13. Chúng tôi biết rằng 102,5 liên quan đến 17.

def findYPoint[xa,xb,ya,yb,xc]:
    m = [ya - yb] / [xa - xb]
    yc = [xc - xb] * m + yb
    return yc
4.
def findYPoint[xa,xb,ya,yb,xc]:
    m = [ya - yb] / [xa - xb]
    yc = [xc - xb] * m + yb
    return yc
5 và sau đó
def findYPoint[xa,xb,ya,yb,xc]:
    m = [ya - yb] / [xa - xb]
    yc = [xc - xb] * m + yb
    return yc
6.

Làm thế nào để chúng ta làm điều này trong Python?

def findXPoint[xa,xb,ya,yb,yc]:
    m = [xa - xb] / [ya - yb]
    xc = [yc - yb] * m + xb
    return

Và để tìm một điểm y cho điểm X:

def findYPoint[xa,xb,ya,yb,xc]:
    m = [ya - yb] / [xa - xb]
    yc = [xc - xb] * m + yb
    return yc

Chức năng này cũng sẽ ngoại suy từ các điểm dữ liệu.

Nội suy tuyến tính là quá trình ước tính giá trị chưa biết của hàm giữa hai giá trị đã biết. is the process of estimating an unknown value of a function between two known values.

Với hai giá trị đã biết [x1, y1] và [x2, y2], chúng ta có thể ước tính giá trị y cho một số điểm X bằng cách sử dụng công thức sau:

y = y1 + [x-x1] [y2-y1]/[x2-x1]

Chúng ta có thể sử dụng cú pháp cơ bản sau đây để thực hiện phép nội suy tuyến tính trong Python:

import scipy.interpolate

y_interp = scipy.interpolate.interp1d[x, y]

#find y-value associated with x-value of 13
print[y_interp[13]]

Ví dụ sau đây cho thấy cách sử dụng cú pháp này trong thực tế.

Ví dụ: Nội suy tuyến tính trong Python

Giả sử chúng ta có hai danh sách các giá trị sau đây trong Python:

x = [2, 4, 6, 8, 10, 12, 14, 16, 18, 20]
y = [4, 7, 11, 16, 22, 29, 38, 49, 63, 80]

Chúng ta có thể tạo ra một cốt truyện nhanh x so với y:

import matplotlib.pyplot as plt

#create plot of x vs. y
plt.plot[x, y, '-ob']

Bây giờ giả sử rằng chúng tôi muốn tìm giá trị y được liên kết với & nbsp; giá trị X mới của & nbsp; 13.13.

Chúng ta có thể sử dụng mã sau để làm như vậy:

import scipy.interpolate
y_interp = scipy.interpolate.interp1d[x, y]

#find y-value associated with x-value of 13 
print[y_interp[13]]

33.5

Giá trị y ước tính hóa ra là 33,5.33.5.

Nếu chúng ta thêm điểm [13, 33,5] vào cốt truyện của chúng ta, nó dường như phù hợp với chức năng khá tốt:

import matplotlib.pyplot as plt

#create plot of x vs. y
plt.plot[x, y, '-ob']

#add estimated y-value to plot
plt.plot[13, 33.5, 'ro']

Chúng ta có thể sử dụng công thức chính xác này để thực hiện phép nội suy tuyến tính cho bất kỳ giá trị X mới nào.

Tài nguyên bổ sung

Các hướng dẫn sau đây giải thích cách khắc phục các lỗi phổ biến khác trong Python:

Cách sửa KeyError trong Pandas Cách sửa: ValueError: Không thể chuyển đổi Float Nan thành Integer Cách sửa: ValueError: Toán tử không thể được phát cùng với các hình dạng
How to Fix: ValueError: cannot convert float NaN to integer
How to Fix: ValueError: operands could not be broadcast together with shapes

Làm thế nào để bạn tìm thấy phép nội suy giữa hai giá trị?

Làm thế nào để nội suy..
Tổ chức dữ liệu của bạn. Đầu tiên, đặt dữ liệu bạn đã thu thập vào biểu đồ hiển thị các biến độc lập và phụ thuộc của bạn. ....
Xem xét tạo một biểu đồ. ....
Chọn hai điểm của bạn. ....
Nhập các giá trị vào phương trình nội suy. ....
Giải quyết cho biến còn thiếu ..

Bạn có thể nội suy trong Python?

Nội suy là một kỹ thuật trong Python được sử dụng để ước tính các điểm dữ liệu chưa biết giữa hai điểm dữ liệu đã biết.Nội suy hầu hết được sử dụng để áp đặt các giá trị bị thiếu trong DataFrame hoặc Sê -ri trong khi xử lý trước dữ liệu.Interpolation is mostly used to impute missing values in the dataframe or series while preprocessing data.

Làm thế nào để bạn nội suy một biểu đồ trong Python?

SCIPY - Nội suy..
Nhập NUMPY dưới dạng NP từ nhập khẩu SCIPY Nhập khẩu Matplotlib.pyplot như plt x = np.không gian linsp [0, 4, 12] y = np.....
xnew = np.không gian linsp [0, 4,30] plt.Lô đất [x, y, 'o', xnew, f [xnew], '-', xnew, f2 [xnew], '-'] plt.....
Nhập matplotlib.pyplot như plt từ scipy ..

Python nội suy tuyến tính là gì?

Nội suy tuyến tính là kỹ thuật xác định các giá trị của các hàm của bất kỳ điểm trung gian nào khi các giá trị của hai điểm liền kề được biết đến.Nội suy tuyến tính về cơ bản là ước tính của một giá trị chưa biết nằm trong hai giá trị đã biết.the technique of determining the values of the functions of any intermediate points when the values of two adjacent points are known. Linear interpolation is basically the estimation of an unknown value that falls within two known values.

Bài Viết Liên Quan

Chủ Đề