分段线性插值.c

来自「数值分析的几个C实现,比较小.」· C语言 代码 · 共 19 行

C
19
字号
#include<stdio.h>
#include<math.h>
#define n 5
main()
{int i=0,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};
do
{ if(w<x[i]) break;
  i++;
 }while(i<n);
for(m=i-1;m<=i;m++)
 { t=1;
   for(l=i-1;l<=i;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 + =
减小字号Ctrl + -
显示快捷键?