📄 分段抛物插值.c
字号:
#include<stdio.h>
#include<math.h>
#define n 5
main()
{int i,l,m;
double s=0,t,w=2.5;double x[n+1]={1,2,3,4,5,6},y[n+1]={1,4,9,16,25,36};
for(i=2;i<=n;i++)
if(w<x[i])
{ if(fabs(x[i-1]-w)<fabs(x[i]-w))
i--;
break;
}
for(m=i-1;m<=i+1;m++)
{ t=1;
for(l=i-1;l<=i+1;l++)
if(m!=l) t*=(w-x[l])/(x[m]-x[l]);
s+=t*y[m];
}
printf("%.6f\n",s);getch();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -