Hướng dẫn 4d interpolation python - Python nội suy 4d
Vì vậy, tôi có trường lực 4D như trong Tôi hơi lạc lõng về cách nội suy điều này, tôi đã bắt gặp điều này. http://docs.scipy.org/doc/scipy-dev/reference/generated/scipy.ndimage.interpolation.map_coordinates.html Có vẻ như tôi có thể tạo ra một mảng import cartopy.crs import matplotlib import matplotlib.pyplot import numpy import pyinterp import pyinterp.backends.xarray import pyinterp.tests0 và sau đó nội suy nó nhưng tôi thực sự không quá chắc chắn. Có ai biết bất kỳ thư viện tốt cho Python về cách làm điều này không? Đầu vào ví dụ là:
Askewchan 43.6K17 Huy hiệu vàng113 Huy hiệu bạc132 Huy hiệu đồng17 gold badges113 silver badges132 bronze badges Hỏi ngày 16 tháng 10 năm 2013 lúc 16:43Oct 16, 2013 at 16:43
1 Cách bạn mô tả nó (x, y, z), đây là trường 3D, không phải 4D. Mục đích của phép nội suy là chỉ định một trường (trong trường hợp này là Trong Python, bạn có thể sử dụng các thói quen nội suy của SCIPY. Đã trả lời ngày 16 tháng 10 năm 2013 lúc 17:05Oct 16, 2013 at 17:05
MaxmaxMax 3.3442 Huy hiệu vàng26 Huy hiệu bạc25 Huy hiệu Đồng2 gold badges26 silver badges25 bronze badges 4 Vì vậy, nếu tôi hiểu bạn Corret, bạn có lực lượng được đưa ra tại một số điểm và những người khác không và muốn đưa ra một phép nội suy? Tại NMR, việc sử dụng phép nội suy tuyến tính cho đến khi được cập nhật. Thay vào đó, bạn có thể thử SPLINE, nhưng điều đó tốn kém hơn. Nhưng nó chủ yếu phụ thuộc vào loại lực lượng của bạn - nó sẽ thay đổi nhanh như thế nào? Xây dựng nội suy Rouinte của bạn ra khỏi đó. Đã trả lời ngày 16 tháng 10 năm 2013 lúc 17:23Oct 16, 2013 at 17:23
user2003965user2003965user2003965 4738 Huy hiệu bạc19 Huy hiệu đồng8 silver badges19 bronze badges chỉnh sửa trang này Bật bảng nội dung thanh bên Ghi chú Nhấn vào đây để tải xuống mã ví dụ đầy đủ hoặc để chạy ví dụ này trong trình duyệt của bạn thông qua Binderhere to download the full example code or to run this example in your browser via Binder Nội suy của một lưới thường xuyên bốn chiều. Quadrivariate#Nội suy import cartopy.crs import matplotlib import matplotlib.pyplot import numpy import pyinterp import pyinterp.backends.xarray import pyinterp.tests2 cho phép thu được các giá trị tại các điểm tùy ý trong không gian 4D của hàm được xác định trên lưới. Phương pháp này thực hiện phép nội suy song tuyến trong không gian 2D bằng cách xem xét các trục kinh độ và vĩ độ của lưới, sau đó thực hiện phép nội suy tuyến tính ở kích thước thứ ba và thứ tư. Giao diện của nó tương tự như lớp import cartopy.crs import matplotlib import matplotlib.pyplot import numpy import pyinterp import pyinterp.backends.xarray import pyinterp.tests3 ngoại trừ trục thứ tư, được xử lý bởi đối tượng này. import cartopy.crs import matplotlib import matplotlib.pyplot import numpy import pyinterp import pyinterp.backends.xarray import pyinterp.tests Bước đầu tiên là tải dữ liệu vào bộ nhớ và tạo đối tượng Interpolator: ds = pyinterp.tests.load_grid4d() interpolator = pyinterp.backends.xarray.Grid4D(ds.pressure) Chúng tôi sẽ xây dựng một lưới mới sẽ được sử dụng để xây dựng một lưới nội suy mới. Cảnh báo Khi sử dụng trục thời gian, phải cẩn thận để sử dụng cùng một đơn vị ngày, giữa trục được xác định và ngày được cung cấp trong quá trình nội suy. Hàm import cartopy.crs import matplotlib import matplotlib.pyplot import numpy import pyinterp import pyinterp.backends.xarray import pyinterp.tests4 tự động hóa nhiệm vụ này và sẽ cảnh báo bạn nếu có sự không nhất quán trong quá trình chuyển đổi ngày. mx, my, mz, mu = numpy.meshgrid(numpy.arange(-125, -70, 0.5), numpy.arange(25, 50, 0.5), numpy.datetime64('2000-01-01T12:00'), 0.5, indexing='ij') Chúng tôi nội suy lưới của chúng tôi bằng cách sử dụng import cartopy.crs import matplotlib import matplotlib.pyplot import numpy import pyinterp import pyinterp.backends.xarray import pyinterp.tests5: Bicubic trên lưới 4D#Lưới được sử dụng tổ chức các vĩ độ theo thứ tự giảm dần. Chúng tôi yêu cầu hàm tạo của chúng tôi lật trục này để đánh giá chính xác phép nội suy bicubic từ khối 4D này (chỉ cần thiết để thực hiện phép nội suy bicubic). interpolator = pyinterp.backends.xarray.Grid4D(ds.pressure, increasing_axes=True) Chúng tôi nội suy lưới của chúng tôi bằng cách sử dụng phép nội suy import cartopy.crs import matplotlib import matplotlib.pyplot import numpy import pyinterp import pyinterp.backends.xarray import pyinterp.tests6 trong không gian, sau đó là một nội suy tuyến tính trong trục thời gian: Chúng tôi biến đổi kết quả của chúng tôi thành một ma trận. Hãy để hình dung kết quả của chúng tôi. Ghi chú Nhấn vào đây để tải xuống mã ví dụ đầy đủ hoặc để chạy ví dụ này trong trình duyệt của bạn thông qua BinderFill NaN values to see how to address this issue. fig = matplotlib.pyplot.figure(figsize=(5, 4)) ax1 = fig.add_subplot( 211, projection=cartopy.crs.PlateCarree(central_longitude=180)) pcm = ax1.pcolormesh(lons, lats, quadrivariate.T, cmap='jet', shading='auto', transform=cartopy.crs.PlateCarree()) ax1.coastlines() ax1.set_title('Trilinear') ax2 = fig.add_subplot( 212, projection=cartopy.crs.PlateCarree(central_longitude=180)) pcm = ax2.pcolormesh(lons, lats, bicubic.T, cmap='jet', shading='auto', transform=cartopy.crs.PlateCarree()) ax2.coastlines() ax2.set_title('Spline & Linear in time') fig.colorbar(pcm, ax=[ax1, ax2], shrink=0.8) fig.show() Tổng thời gian chạy của tập lệnh: (0 phút 1,001 giây) ( 0 minutes 1.001 seconds) Phòng trưng bày được tạo ra bởi Sphinx-Gallery |