đa thức nội suy lagrange

     

Nội suy nhiều thức (Polyminal Interpolation) là làm sao suy đoán thù ra hàm số mà trải qua giao động tất cả các điểm tài liệu mang đến trước, dựa vào kia bọn họ dìm xét được xem quy biện pháp của bọn chúng cùng dự đân oán ăn điểm tài liệu tiếp theo.

Bạn đang xem: đa thức nội suy lagrange

Trước tiên bọn họ thuộc nghiên cứu và phân tích 2 cách thức giúp nội suy nhiều thức tất cả dạng thuần nhất

*
, ko đựng những hàm toán học đặc biệt quan trọng như lượng giác giỏi logarit. n+một là số điểm dữ liệu cơ mà bạn bao gồm. Điều này nghe có vẻ như kỳ dị, ví dụ các bạn khảo sát điều tra một đại lượng y mà lại chúng ta tin rằng nó tình dục cùng với đại lượng x theo hàm bậc 2, mà bạn đo n+1 lần, hổng nhẽ hàm của bạn cần là hàm bậc n? Thực ra hàm nội suy ko đề đạt đúng mối quan hệ thực tiễn của 2 đại lượng. Càng thu thập nhiều điểm tài liệu thì hàm nội suy càng tiệm cận với hàm thực, các hệ số của các số hạng bậc cao sẽ dần dần nhỏ xíu đi thôi.

Nội suy Lagrange:

Đa thức nội suy tất cả dạng:

*
trong những số ấy
*
.

#include‹stdio.h›int main() int n, i, j; printf("Nhap so diem đến truoc: "); scanf("%d",&n); double x, y, X, Y=0, L; printf("Nhap toa vị cac diem: "); for(i=0;i‹n;i++) printf("(x%d,y%d)= ",i,i); scanf("%lf %lf",&x,&y); printf("X= "); scanf("%lf",&X); for(i=0;i‹n;i++) L=1; for(j=0;j‹n;j++) if(j!=i) L*=(X-x)/(x-x); Y+=L*y; printf("Y= %lf ",Y);Code: computational-physics/Lagrange_Interpolation.c Nhược điểm của cách thức nội suy Lagrange là ví như bổ sung cập nhật thêm điểm tài liệu mới là đề xuất tính lại từ đầu. Bây giờ đồng hồ là làm sao khi thêm dữ liệu bắt đầu vẫn tận dụng được nhiều thức sẽ tính trước kia. Chúng ta thuộc bước sang cách thức công dụng rộng, chính là nội suy Newton.

Nội suy Newton:

*
*
trong những số đó
*
là những đạo hàm tại x=x0.

Xem thêm: Black Friday Là Gì ? Nguồn Gốc Và Ý Nghĩa Của Ngày Black Friday

*
,
*
, …Chúng ta đặt cam kết hiệu như thế này:
*
+ f(x-x_0) + f(x-x_0)(x-x_1) + \cdots" class="latex" />
*
\prod^i-1_j=0 (x-x_j)" class="latex" /> .Tính những đạo hàm bằng cách tạo nên dựng ma trận D như sau:
*
\\ y_2 và f và f \\ \vdots \\ y_n và f & \cdots và f \endbmatrix" class="latex" />Đạo hàm bậc cao được khiến cho vày 2 đạo hàm bậc tốt rộng. Có cột đầu tiên là các quý hiếm vẫn biết, những cột tiếp sau được xem bằng cách
*
.

#include‹stdio.h›int main() int n, i, j; printf("Nhap so diem cho truoc: "); scanf("%d",&n); double x, y, X, Y=0, L, D; for(i=0;i‹n;i++) printf("(x%d,y%d)= ",i,i); scanf("%lf %lf",&x,&y); printf("X= "); scanf("%lf",&X); for(j=0;j‹n;j++) if(j==0) for(i=0;i‹n;i++) D=y; else for(i=j;i‹n;i++) D=(D-D)/(x-x); L=1; for(i=0;i‹j;i++) L*=X-x; Y+=D*L; printf("Y= %lf ",Y);Code: computational-physics/Newton_Interpolation.c

Cả 2 cách thức ngơi nghỉ trên đều phải có yếu điểm là số bậc của đa thức nội suy nối sát cùng với con số điểm tài liệu tích lũy. Tức là tuy nhiên càng các ban bố thì việc dự đoán thù điểm tiếp sau càng đúng đắn, dẫu vậy hàm nội suy đang càng phức hợp lên ko cần thiết, tai sợ rộng là làm tăng trọng lượng tính toán thù. Pmùi hương pháp nội suy Spline Thành lập và hoạt động, giúp họ tìm thấy hàm nội suy với bậc phải chăng hơn với ko phụ thuộc vào vào con số điểm tài liệu. Chi huyết về thuật tân oán này bản thân đang khám phá sau.

Nội suy Lagrange, Newton, cùng cả nội suy Spline mọi cố vẽ ra một hàm đi qua không còn toàn bộ các điểm, điều đó ko xuất xắc lắm bởi trong những phân tách đồ vật lý, không đúng số đo đạc là vấn đề tất yếu, các điểm dữ liệu đâu hoàn toàn nằm trê tuyến phố trang bị thị kim chỉ nan mà xung quanh lẩn quất sát con đường lphát minh đó thôi. Càng cố nối điểm, chúng ta càng xa rời với con đường lý tưởng phát minh rộng. bởi vậy phương pháp bình pmùi hương tối thiểu được xem như là tác dụng tuyệt nhất trong những xem sét thực tiễn, đó là vẽ ra một con đường sao để cho tổng bình phương khoảng cách từng điểm dữ liệu tới con đường thứ thị sẽ là nhỏ dại tốt nhất, tức là nhất trí điều kiện

*
^2 \;\mathrmmin" class="latex" /> cùng với m là số bậc của nhiều thức, ko nhờ vào vào số điểm dữ liệu n.

Xem thêm: Hướng Dẫn Cài Đặt Zalo Và Sử Dụng Trên Máy Tính, Đăng Nhập Zalo Trên Máy Tính

*
^2 \;\mathrmmin" class="latex" />
*
*
^2 = 0" class="latex" /> với k = 0, 1, …, m .
*
*
= 0" class="latex" />
*
*
.Ta màn trình diễn được phương trình bên trên bằng phép toán thù ma trận như sau:
*
*
*
*
*
*
*
vì vậy chúng ta chỉ cần sử dụng những phương thức giải hệ phương thơm trình nhỏng khử Gauss-Jordan ví dụ điển hình, giải ma trận:
*
" class="latex" />
*
*

#include‹stdio.h›int main() int m, n, i, j, k; printf("Nhap so bac cua da thuc: m= "); scanf("%d",&m); printf("Nhap so diem du lieu cho truoc: n= "); scanf("%d",&n); double x, y, X, Y=0, F, a, p; printf("Nhap gia tri cac diem mang lại truoc: "); for(i=0;i‹n;i++) printf("(x%d,y%d)= ",i,i); scanf("%lf %lf",&x,&y); F<0>=1; for(j=1;j‹m+1;j++) F=F*x; F=y; for(k=0;k‹m+1Code: computational-physics/Least_square_Method.c


Chuyên mục: Tổng hợp