拉格郎日插值多项式.cpp

来自「提供常用数值计算的c++代码源程序。方便初学者进行练习!」· C++ 代码 · 共 28 行

CPP
28
字号
#include<iostream.h>

float Lagrange(float *x,float *y,float xx,int n)
{
	int i,j;
	float *a,yy=0.0;
	a =new float[(n*sizeof(float))];
	for( i=0;i<=n-1;i++ )
	{
		a[i]=y[i];
		for( j=0;j<=n-1;j++ )
			if(j!=i)
				a[i]*=(xx-x[j])/(x[i]-x[j]);
			yy+=a[i];
	}
	delete[] a;
	return yy;
}

void main()
{
	float x[4]={0.56160,0.56280,0.56401,0.56521};
	float y[4]={0.82741,0.82659,0.82577,0.82495};
	float xx=0.5635,yy;
	float Lagrange(float *,float *,float ,int);
	yy =Lagrange(x,y,xx,4);
	cout<<"x="<<xx<<'\t'<<"y="<<yy<<endl;
}

⌨️ 快捷键说明

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