lagck.c

来自「这是数值方法中各种插值算法」· C语言 代码 · 共 32 行

C
32
字号
#include <stdio.h>

double main()
{   int n1=2;
	double x[]={1.0,1.05,1.07};
	double y[]={2.70828,3.28630,3.52761};
	double xxx=1.03;
	double yyy;
	double lagrange(int n,double x[],double y[],double xx);
	yyy=lagrange(n1,x,y,xxx);
	return(yyy);
}
double lagrange(int n,double x[],double y[],double xx)
{
double p,yy;
int i,j;
yy = 0.0;
for(i=0;i<=n;i++)
{
p=1.0;
for(j=0;j<=n;j++)
if(i!=j)
{
if(fabs(x[i]-x[j])<(10e-6))
return 0;
p=p*(xx-x[j])/(x[i]-x[j]);
} 
yy=yy+p*y[i];
} 
return(yy); 
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?