lagrange.cpp

来自「拉格朗日插值函数算法的示例」· C++ 代码 · 共 45 行

CPP
45
字号
#include<iostream.h>
double lagrange(double x);
void main()
{
	double x,m;
	cout<<"输入所求X的值:";
	cin>>x;
	m=lagrange(x);
	cout<<"所求拉格朗日插数值为:"<<m<<endl;
}
double lagrange(double x)
{
	int n;
	cout<<"输入所需插值次数:";
	cin>>n;

	
	double x1[20],y1[20];
	double y,t;
	int k,j;
	for(int i=0;i<n;i++)
	{
		cout<<"输入x"<<i<<"的值:";
		cin>>x1[i];
	}
	for( i=0;i<n;i++)
	{
		cout<<"输入y"<<i<<"的值:";
		cin>>y1[i];
	}
	y=0;
	for(k=0;k<=n;k++)
	{
		t=1;
		for(j=0;j<=n;j++)
			if(j!=k)
				t=t*((x-x1[j])/(x1[k]-x1[j]));
			y=y+t*y1[k];
	}
	return y;
}



⌨️ 快捷键说明

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