Có một số phương tiện chung có sẵn trong SciPy để suy giảm nội dung và làm căng dữ liệu ở các chiều 1, 2 và cao hơn. Lựa chọn lựa chọn một công cụ suy đoán thói quen có thể phụ thuộc vào dữ liệu. cho dù nó là một chiều, được đưa ra trên một lưới có cấu trúc hay không có cấu trúc. Một yếu tố khác là độ căng mong muốn của bộ nội suy. Tóm lại, các quy trình được khuyến nghị cho phép các nội dung suy có thể được tóm tắt như sau
Tốt bụng
lịch trình
liên tục
bình luận
1D
tuyến tính
numpy.interp
từng phần liên tục
to from numpy
khối spline
CubicSpline
đạo hàm bậc 2
spline khối đơn điệu
PchipInterpolator
đạo hàm thứ nhất
not too
spline not set method
make_interp_spline
(k-1) đạo hàm thứ
k=3 tương đương với CubicSpline
gần nhất
interp1d
loại=’gần nhất’, ‘trước đó’, ‘tiếp theo’
đường cong N-D
gần nhất, tuyến tính, spline
make_interp_spline
(k-1) đạo hàm thứ
use array N-dim y
Lưới N-D thông thường (tuyến tính)
gần nhất
RegularGridInterpolator
method = 'gần nhất'
tuyến tính
method = 'tuyến tính'
splines
đạo hàm bậc 2
method=’cubic’, ‘quintic’
splines đơn điệu
đường dẫn đầu ra thứ nhất
method = 'pchip'
N-D rải rác
gần nhất
numpy.interp0
bí danh. numpy.interp1
tuyến tính
numpy.interp2
block blocks (chỉ 2D)
numpy.interp3
đường dẫn đầu ra thứ nhất
center function
numpy.interp4
Để làm mịn dữ liệu, các chức năng được cung cấp cho dữ liệu 1 và 2-D bằng cách sử dụng các đường nối khối, dựa trên thư viện FORTRAN FITPACK.
Ngoài ra, các quy trình được cung cấp để nội suy/làm mịn bằng cách sử dụng các hàm cơ sở xuyên tâm với một số nhân.
Thông tin chi tiết được đưa ra trong các liên kết dưới đây
- Nội suy 1-D
- Nội suy tuyến tính từng phần
- khối spline
- Nội suy đơn điệu
- Nội suy với B-splines
- Đường cong spline tham số
- Giao diện kế thừa cho phép nội suy 1-D (interp1d)
- Dữ liệu bị mất
- Đa thức từng phần và splines
- Thao tác đối tượng numpy.interp6
- B-splines. nút thắt và hệ thống số
- Phần cơ sở B-spline
- Design ma trận trên cơ sở B-spline
- ☘️ splines
- Làm sạch Spline trong 1-D
- Tiếp tục (numpy.interp7)
- Hướng đối tượng (______18)
- Các splines làm 2-D
- Bivariate spline match data partition
- Bivariate spline match dữ liệu trên lưới
- Bivariate spline match dữ liệu trong cấu hình cấu hình
- Làm sạch Spline trong 1-D
- Nội suy dữ liệu đa biến trên lưới thông thường (RegularGridInterpolator)
- Data way đều nhau
- Nội dung phân tán dữ liệu suy giảm (numpy.interp1)
- Sử dụng các hàm cơ sở xuyên tâm để làm căng/nội suy
- Ví dụ 1-D
- Ví dụ 2 chiều
- tip and thủ thuật ngoại suy
- interp1d. sao chép các giá trị điền vào bên trái và bên phải của numpy.interp
- CubicSpline mở rộng các điều kiện biên
- Thực hiện các tiện ích cận
- Setup
- Sử dụng các tiện ích cận đã biết
- Ngoại suy trong CubicSpline3
Đoạn mã dưới đây minh họa các loại phương pháp nội suy khác nhau có sẵn cho CubicSpline4 sử dụng 400 điểm được chọn ngẫu nhiên từ một hàm thú vị
import numpy as np from scipy.interpolate import griddata import matplotlib.pyplot as plt x = np.linspace(-1,1,100) y = np.linspace(-1,1,100) X, Y = np.meshgrid(x,y) def f(x, y): s = np.hypot(x, y) phi = np.arctan2(y, x) tau = s + s*(1-s)/5 * np.sin(6*phi) return 5*(1-tau) + tau T = f(X, Y) # Choose npts random point from the discrete domain of our model function npts = 400 px, py = np.random.choice(x, npts), np.random.choice(y, npts) fig, ax = plt.subplots(nrows=2, ncols=2) # Plot the model function and the randomly selected sample points ax[0,0].contourf(X, Y, T) ax[0,0].scatter(px, py, c='k', alpha=0.2, marker='.') ax[0,0].set_title('Sample points on f(X,Y)') # Interpolate using three different methods and plot for i, method in enumerate(('nearest', 'linear', 'cubic')): Ti = griddata((px, py), f(px,py), (X, Y), method=method) r, c = (i+1) // 2, (i+1) % 2 ax[r,c].contourf(X, Y, Ti) ax[r,c].set_title("method = '{}'".format(method)) plt.tight_layout() plt.show()Có một số phương tiện chung có sẵn trong SciPy để suy giảm nội dung và làm căng dữ liệu ở các chiều 1, 2 và cao hơn. Lựa chọn lựa chọn một công cụ suy đoán thói quen có thể phụ thuộc vào dữ liệu. cho dù nó là một chiều, được đưa ra trên một lưới có cấu trúc hay không có cấu trúc. Một yếu tố khác là độ căng mong muốn của bộ nội suy. Tóm lại, các quy trình được khuyến nghị cho phép các nội dung suy có thể được tóm tắt như sau
bụng tốt
lịch trình
liên tục
bình luận
1D
tuyến tính
numpy.interp
từng phần liên tục
to from numpy
khối spline
CubicSpline
đạo hàm bậc 2
spline khối đơn điệu
PchipInterpolator
đạo hàm thứ nhất
not too
spline not set method
make_interp_spline
(k-1) đạo hàm thứ
k=3 tương đương với CubicSpline
gần nhất
________số 8
loại=’gần nhất’, ‘trước đó’, ‘tiếp theo’
đường cong N-D
gần nhất, tuyến tính, spline
make_interp_spline
(k-1) đạo hàm thứ
use array N-dim y
Lưới N-D thông thường (tuyến tính)
gần nhất
CubicSpline40
method = 'gần nhất'
tuyến tính
method = 'tuyến tính'
splines
đạo hàm bậc 2
method=’cubic’, ‘quintic’
splines đơn điệu
đường dẫn đầu ra thứ nhất
method = 'pchip'
N-D rải rác
gần nhất
numpy.interp0
bí danh. numpy.interp1
tuyến tính
numpy.interp2
block blocks (chỉ 2D)
numpy.interp3
đường dẫn đầu ra thứ nhất
center function
numpy.interp4
Để làm mềm dữ liệu, các chức năng được cung cấp cho dữ liệu 1 và 2-D bằng cách sử dụng các đường kết nối .
Bên ra, các quy trình được cung cấp để nội suy/làm trơn bằng cách sử dụng các hàm cơ sở xuyên tâm với một .
Thông tin chi tiết được đưa ra trong các liên kết dưới đây
- Nội suy 1-D
- Nội suy tuyến tính từng phần
- khối spline
- Nội suy đơn điệu
- Nội suy với B-splines
- Đường cong spline tham số
- Giao diện kế thừa cho phép nội suy 1-D (CubicSpline45)
- Dữ liệu bị mất
- Đa thức từng phần và splines
- Thao tác với đối tượng numpy.interp6
- B-splines. nút thắt và hệ thống số
- Phần cơ sở B-spline
- Design ma trận trên cơ sở B-spline
- ☘️ splines
- Làm sạch Spline trong 1-D
- Tiếp tục (numpy.interp7)
- Hướng đối tượng (______18)
- Các splines làm 2-D
- Bivariate spline match data partition
- Bivariate spline match dữ liệu trên lưới
- Bivariate spline match dữ liệu trong cấu hình cấu hình
- Làm sạch Spline trong 1-D
- Nội dung suy dữ liệu đa biến trên lưới thông thường (CubicSpline40)
- Data way đều nhau
- Nội dung phân tán dữ liệu suy giảm (numpy.interp1)
- Sử dụng các hàm cơ sở xuyên tâm để làm căng/nội suy
- Ví dụ 1-D
- Ví dụ 2 chiều
- tip and thủ thuật ngoại suy
- ________số 8. sao chép các giá trị đã điền vào bên trái và bên phải của numpy.interp
- CubicSpline mở rộng các điều kiện biên
- Thực hiện các tiện ích cận
- Setup
- Sử dụng các tiện ích cận đã biết
- Ngoại suy trong CubicSpline3