Đề bài là hãy viết chương trình tính gần đúng hàm số y =f(x) với bảng giá trị x, y cho trước = đa thức Lagrange.
Em viết như sau để tình L[i] thì chạy được.
Code:
#include <stdio.h>
#define n 2
main()
{
float x[n], y[n], temp, X;
int i,j;
printf("Nhap vao so x: ");
scanf("%f",&X);
for (i=0; i<= n; i++)
{
printf(" x[%d] ", i);
scanf("%f", &x[i]);
}
for(i=0; i <= n; i++)
{
temp = 1;
for(j=0; j <= n; j++)
if (j!=i) temp = temp*( (X-x[j]) / (x[i]-x[j]) );
printf("\n%f",temp);
}
}
Nhưng thay thay biến temp = mảng L[i] thì lại ko chạy được
Code:
#include <stdio.h>
#define n 2
void main()
{
float x[n], y[n], L[n], X;
int i,j;
printf("Nhap vao so x: ");
scanf("%f",&X);
for (i=0; i<= n; i++)
{
printf(" x[%d] ", i);
scanf("%f", &x[i]);
}
for(i=0; i <= n; i++)
{
L[i] = 1;
for(j=0; j <= n; j++)
if (j!=i) L[i] = L[i]*( (X-x[j]) / (x[i]-x[j]) );
printf("\n%f",L[i]);
}
}
Xin hỏi lý do. Mong các anh giúp đỡ
Thanks