Hướng dẫn what is linear interpolation python? - python nội suy tuyến tính là gì?


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')

Hướng dẫn what is linear interpolation python? - python nội suy tuyến tính là gì?

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')

Hướng dẫn what is linear interpolation python? - python nội suy tuyến tính là gì?

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

Để nội suy giá trị của biến phụ thuộc y tại một số điểm độc lập X bằng phép nội suy tuyến tính, chúng tôi sẽ lấy hai điểm, tức là nếu chúng tôi cần nội suy y tương ứng với X nằm giữa X0 và ​​X1 thì chúng tôi sẽ lấy hai điểm [x0, Y0] và [ x1, y1] và xây dựng các nội suy tuyến tính là đường thẳng giữa các điểm này, tức là.Linear Interpolation, we take two points i.e. if we need to interpolate y corresponding to x which lies between x0 and x1 then we take two points [x0, y0] and [x1, y1] and constructs Linear Interpolants which is the straight line between these points i.e.

y - y0 = ((y1 - y0)/(x1 - x0)) * (x - x0)

Và nếu cần có giá trị của Y thì sử dụng phương trình trên, chúng tôi tính toán YP tại x = xp As:

yp = y0 + ((y1 - y0)/(x1 - x0)) * (xp - x0)

Tương tự, nếu chúng ta cần nội suy y tương ứng với x nằm giữa x1 và x2 thì chúng ta sẽ lấy hai điểm [x1, y1] và [x2, y2] và xây dựng các nội suy tuyến tính là đường thẳng giữa các điểm này, tức là.Linear Interpolants which is the straight line between these points i.e.

y - y1 = ((y2 - y1)/(x2 - x1)) * (x - x1)

Và nếu cần có giá trị của Y thì sử dụng phương trình trên, chúng tôi tính toán YP tại x = xp As:

yp = y1 + ((y2 - y1)/(x2 - x1)) * (xp - x1)

Chương trình Python này thực hiện thuật toán nội suy tuyến tính như đã thảo luận ở trên để nội suy giá trị trung gian.Linear interpolation algorithm as discussed above to interpolate intermediate value.

Mã nguồn Python: iterpolation tuyến tính


# Linear interpolation in python

# Input section
# Reading first point
print('Enter first point:')
x0 = float(input('x0 = '))
y0 = float(input('y0 = '))

# Reading second point
print('Enter second point:')
x1 = float(input('x1 = '))
y1 = float(input('y1 = '))

# Reading calculation point
xp = float(input('Enter calculation point xp: '))

# Calculating interpolated value
yp = y0 + ((y1-y0)/(x1-x0)) * (xp - x0)

# Displaying result
print('Interpolated value at %0.4f is %0.4f' %(xp,yp))

Đầu ra: Nội suy tuyến tính Python

Hãy xem xét chúng tôi có vấn đề nội suy được nêu là: "Từ một số quan sát, người ta thấy rằng áp suất được ghi ở nhiệt độ 35 ° C là 5,6kPa và ở 40 ° C là 7,4 kPa. Sau đó, nó được yêu cầu sử dụng áp suất ở 37 ° C mà không Bảng quan sát. Vì vậy, giá trị áp suất ở 37 ° C cần được nội suy và điều này có thể được tính toán bằng chương trình trên như: "

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

Có nghĩa là gì bởi phép nội suy tuyến tính?

Nội suy tuyến tính là một phương pháp phù hợp với đường cong bằng cách sử dụng đa thức tuyến tính để xây dựng các điểm dữ liệu mới trong phạm vi của một tập hợp các điểm dữ liệu đã biết riêng biệt. Công thức nội suy tuyến tính. y = y 1 + (x - x 1) (y 2 - y 1) x 2 - x 1.a method of curve fitting using linear polynomials to construct new data points within the range of a discrete set of known data points. Formula of Linear Interpolation. y = y 1 + ( x − x 1 ) ( y 2 − y 1 ) x 2 − x 1.

Nội suy làm gì 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.estimate unknown data points between two known data points. Interpolation is mostly used to impute missing values in the dataframe or series while preprocessing data.

Nội suy tuyến tính trong gấu trúc là gì?

'tuyến tính': bỏ qua chỉ số và coi các giá trị là cách đều nhau.Đây là phương pháp duy nhất được hỗ trợ trên Multiindexes.'Thời gian': Hoạt động trên dữ liệu độ phân giải hàng ngày và cao hơn để nội suy độ dài của khoảng thời gian.'Index', 'Giá trị': Sử dụng các giá trị số thực của chỉ mục.'PAD': Điền vào NAN bằng các giá trị hiện có.

Tại sao nội suy tuyến tính được sử dụng?

Nội suy tuyến tính là hữu ích khi tìm kiếm giá trị giữa các điểm dữ liệu đã cho.Nó có thể được coi là điền vào các khoảng trống của một bảng dữ liệu.Chiến lược nội suy tuyến tính là sử dụng một đường thẳng để kết nối các điểm dữ liệu đã biết ở hai bên của điểm chưa biết.when looking for a value between given data points. It can be considered as “filling in the gaps” of a table of data. The strategy for linear interpolation is to use a straight line to connect the known data points on either side of the unknown point.