Trăn nội suy lập phương ẩn sĩ
Trong số các mô-đun phân tích số khác, scipy bao gồm một số thuật toán nội suy cũng như các cách tiếp cận khác nhau để sử dụng chúng để tính toán phép nội suy, đánh giá đa thức bằng cách biểu diễn phép nội suy, tính đạo hàm, tích phân hoặc nghiệm bằng các giao diện dựa trên chức năng và lớp Show Hãy xem một số ví dụ nội suy cho dữ liệu một và hai chiều Trước hết, các mô-đun cần thiết
nội suy đơn biếnTrong các ví dụ tiếp theo, 0 và 1 đại diện cho các điểm đã biết. Chúng ta sẽ cần lấy các giá trị nội suy 2 cho 3. Là một đại diện, 4 sẽ là các giá trị thực, được tạo từ hàm ban đầu để hiển thị hành vi của bộ nội suyNếu không có gì về các ô được nói, chúng sẽ được tạo dưới dạng
Phép nội suy tuyến tínhNội suy tuyến tính dễ tính toán nhưng không chính xác do có sự gián đoạn tại các điểm Chúng tôi sẽ làm một số ví dụ với các giá trị này
Chúng ta có thể tính toán phép nội suy tuyến tính với numpy
Đã đến lúc giới thiệu lớp nội suy một chiều của scipy. ( 5)[http. // tài liệu. scipy. org/doc/scipy/tham chiếu/đã tạo/scipy. nội suy. interp1d. html#scipy. nội suy. interp1d] đối tượng sẽ được tạo từ các điểm đã biết và chúng ta có thể thu được 2 đánh giá chính nó bằng 3 tương ứng. 5 cung cấp các phương pháp nội suy khác nhau bằng đối số 9 và mặc định là 40 4Nội suy láng giềng gần nhấtPhép nội suy lân cận gần nhất đơn biến có cùng giá trị của điểm gần nhất đã biết 6nội suy đa thứcCác thuật toán nội suy đa thức rất tốn kém về mặt tính toán và có thể tạo ra các thành phần tạo dao động ở các điểm cực trị do hiện tượng Runge. Do đó, tốt hơn hết là sử dụng đa thức Ch Quashev hoặc nội suy bằng cách sử dụng các đường spline (sẽ nói thêm ở phần sau) Lagrange hoặc Newton là những ví dụ về phép nội suy đa thức. Chỉ đề cập và giới thiệu các cách tiếp cận vấn đề nội suy khác nhau trong scipy, chúng ta hãy xem phép nội suy Lagrange 7Công dụng của đa thức Lagrange. Chúng ta có thể tính trực tiếp các giá trị nội suy bằng các hàm nội suy 8Ngoài ra, chúng ta có thể sử dụng các bộ nội suy dựa trên lớp để tạo đa thức từ các điểm đã biết và sau đó, gọi đa thức này bằng dữ liệu _________ 13 của chúng ta 0Nên sử dụng cách tiếp cận dựa trên lớp nếu chúng ta cần đánh giá dữ liệu 3 nhiều lần, vì chúng ta đã tính toán đa thức của mìnhsplinesMột spline bao gồm các hàm đa thức được nối với nhau bằng các nút thắt và, không giống như phép nội suy đa thức, không có hiện tượng Runge, làm cho phép nội suy spline trở thành một phương pháp nội suy ổn định và mở rộng Hãy thay đổi dữ liệu của chúng tôi 2Cách dễ nhất để sử dụng splines trong scipy, một lần nữa, với 5. Đặt 9 là 45 hoặc 46, chúng tôi sẽ tính toán spline bậc hai và bậc ba 0Chỉ định một số nguyên là một loại, chúng ta sẽ đặt thứ tự của các đa thức, có tính đến thứ tự phải thấp hơn số điểm đã biết 1Đa thức Hermite có liên quan đến đa thức Newton, nó là phép tính đạo hàm chia hết. So khớp giá trị của n điểm và m đạo hàm đầu tiên của nó, vì vậy đa thức thu được sẽ có bậc nhiều nhất là n(m+1)-1 Phép nội suy Hermite bậc ba bao gồm một spline gồm các đa thức Hermite bậc ba và các đường cong Hermite có thể được chỉ định là các đường cong Bézier, được sử dụng rộng rãi trong thiết kế đồ họa véc tơ Trong scipy, phép nội suy Hermite bậc ba có hai cách tiếp cận khác nhau được trình bày trong phần trước, phép nội suy hàm 2và bộ nội suy dựa trên lớp 3Như chúng ta có thể thấy, các giá trị được nội suy khá khác so với các giá trị thực. Giống như trong thiết kế đồ họa vector, các điểm cần thiết cho đường cong Bézier phải có ý nghĩa hơn, vì vậy trong trường hợp này, chúng ta cần xác định vị trí các điểm ở mức cực đại hoặc cực tiểu cục bộ. Đối với hàm chân Asinc(Bx+C) chúng ta sẽ tìm thấy các đỉnh gần với 1/2B, do tham số C, và sau đó, gần với mọi 1/2B, trong trường hợp này là {0. 25, 0. 75, 1. 25, 1. 75}. Vì vậy, sử dụng các điểm tiếp theo, chúng ta sẽ nhận được kết quả tốt hơn bằng cách sử dụng phép nội suy Hermite bậc ba 4Splines cũng có thể được tính bằng cách sử dụng bộ nội suy dựa trên lớp, Trong trường hợp này với giao diện FITPACK 5Và thông qua giao diện chức năng FITPACK 6Trong cả hai trường hợp, chúng ta sẽ có nhiều phương pháp đánh giá, ví dụ, lấy nguyên hàm của hàm 7 8Với giao diện chức năng FITPACK 9 8Theo định nghĩa của hàm chân Asinc(Bx+C), các nghiệm sẽ được tìm thấy tại mỗi 1/B và tại 0, do tham số C, trong khoảng (0,2] sẽ là {0, 0. 5, 1, 1. 5} nội suy đa biếnNội suy đa biến đề cập đến phép nội suy không gian, cho các hàm có nhiều biến. Nó chủ yếu được sử dụng trong xử lý ảnh (nội suy song tuyến tính) và các mô hình độ cao địa chất (nội suy Kriging, không được đề cập ở đây) Đầu tiên, chúng ta hãy xác định một số dữ liệu. 3 và 2 là tọa độ nơi chúng tôi sẽ nội suy dữ liệu của mình, tọa độ này được xác định cũng như lưới lưới ( 49); 1Trong các ví dụ tiếp theo, nếu không có gì được nói, kết quả nội suy sẽ được hiển thị dưới dạng bản đồ giả màu như 2Đối với ví dụ tiếp theo, chúng ta cần tạo một số dữ liệu phi cấu trúc, một mảng các điểm và các giá trị tương ứng 3Nội suy lân cận gần nhất hai chiềuHàng xóm gần nhất đa biến không tốn kém về mặt tính toán, vì vậy nó được sử dụng trong kết xuất ba chiều thời gian thực. Khái niệm này tương đương với sơ đồ Voronoi Bộ nội suy dựa trên lớp 4nội suy song tuyến tínhPhép nội suy song tuyến tính dựa trên hai phép nội suy tuyến tính trong lưới 2D. Nó được sử dụng trong lấy mẫu lại hình ảnh Bộ nội suy dựa trên lớp 5Bicubic spline nội suyNó dựa trên hai spline bậc ba trong một lưới hai chiều. Được sử dụng trong xử lý hình ảnh và dữ liệu độ cao GIS. Nó mượt mà hơn phép nội suy song tuyến tính và lân cận gần nhất nhưng đắt hơn về mặt tính toán Trong trường hợp này, chúng ta sẽ sử dụng hàm tạo trực tiếp một lưới với các giá trị được nội suy theo cách tương tự như 5. Hàm này cũng hỗ trợ nội suy tuyến tính và lân cận gần nhất theo hai chiều với đối số 64 6Tìm hiểu thêm về splines đa biếnĐối với các ví dụ tiếp theo, chúng ta sẽ cần một số dữ liệu có cấu trúc, các giá trị trong lưới tương ứng với tọa độ x và y được xếp hạng 7Tương tự như giao diện FITPACK chức năng cho các đường trục một chiều, đây là biểu diễn và đánh giá của một đường trục hai khối bằng cách sử dụng các điểm và giá trị dưới dạng dữ liệu lưới 8Và tương tự với giao diện FITPACK dựa trên lớp. Trong trường hợp này, chúng ta sẽ cần tính toán spline với các điểm không phải dưới dạng lưới mà dưới dạng mảng được xếp hạng |