Hướng dẫn barnes interpolation python - con trăn nội suy barnes

Desctiption

Phần mềm GRI được viết bởi Dan Kelley để vẽ dữ liệu khoa học chứa việc triển khai C ++ của phép nội suy dữ liệu phân tán bằng phương pháp được mô tả trong Koch et al. [1983]. Dự án này cung cấp một trình bao bọc cho mã C ++, sao cho nó có thể được nhập dưới dạng hàm Python.

Cài đặt

Hãy chắc chắn rằng Numpy và Matplotlib được cài đặt, sau đó nhân bản kho lưu trữ này ở đâu đó trên đường dẫn Python của bạn.

git clone //github.com/jeanlucshaw/barnes.git

Tập lệnh thiết lập Python có nghĩa là được gọi từ Makefile. Trong cùng một thư mục, loại:

Để kiểm tra cài đặt, nhập:

sẽ hiển thị một biểu đồ của hàm điều khiển ở bên phải và ước tính của nó từ dữ liệu phân tán ngẫu nhiên bằng cách sử dụng phép nội suy Barnes ở bên trái.

Cách sử dụng

Sau khi cài đặt hoàn tất, cuộc gọi nhập là:

from barnes import barnes

Các đầu vào bắt buộc là dữ liệu phân tán và tọa độ của nó, cũng như các vectơ lưới nội suy. Một cuộc gọi chức năng có thể trông giống như mã giả sau:

x_scatter = [1D numpy array]    # horizontal coordinate of scattered data
y_scatter = [1D numpy array]    # vertical coordinate of scattered data
z_scatter = [1D numpy array]    # scattered data
x_grid = [1D numpy array]       # horizontal coordinate of interpolation grid
y_grid = [1D numpy array]       # vertical coordinate of interpolation grid

z_grid = barnes[x_scatter,
                y_scatter,
                z_scatter,
                x_grid,
                y_grid]

Các tham số tùy chọn là các giá trị bán kính tìm kiếm theo chiều ngang và dọc [XR, YR] mặc định là 1., tham số gamma mặc định là 0,5 và số lần lặp lại là 1.

Người giới thiệu

Kelley, D. E. và P. S. Galbraith [2000], GRI: Một ngôn ngữ cho minh họa khoa học, Linux J., 75, 92 Phản101.

Koch, S. E., Desjardins, M. và Kocin, P. J. [1983] Một sơ đồ phân tích bản đồ khách quan của Barnes để sử dụng với dữ liệu vệ tinh và thông thường, J. Clim. Appl. Meteorol., 22, 1487 Từ1503.

Giải pháp hợp lý là gì phần lớn phụ thuộc vào câu hỏi bạn đang cố gắng trả lời với các pixel được nội suy - báo trước: ngoại suy trên dữ liệu bị thiếu có thể dẫn đến câu trả lời rất sai lầm!

from bisect import bisect_left

class Interpolate[object]:
    def __init__[self, x_list, y_list]:
        if any[y - x 

Bài Viết Liên Quan

Chủ Đề