⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lagrange.cpp

📁 五次插值。 这个算法代码可是花了很长的时间
💻 CPP
字号:
#include<iostream.h>
#include<iomanip.h>
#define pointnum 6
double Lagrange(double NodeX[],double NodeY[],double x)
{
	int i,j;
	double mid=0.0,result=0.0;
	for(i=0;i<pointnum;i++)
	{
		mid=NodeY[i];
		for(j=0;j<pointnum;j++)
			if(i!=j)
				mid=mid*(x-NodeX[j])/(NodeX[i]-NodeX[j]);
		result=result+mid;
	}
	return result;
}
void main()
{
	int i;
	double result,mid=0.0;
    double NodeX[pointnum]={0.30,0.42,0.50,0.58,0.66,0.72};
	double NodeY[pointnum]={1.04403,1.08462,1.11803,1.15603,1.19817,1.23223};
	double x[4]={0.46,0.55,0.60};
	cout<<"插值节点数值为:"<<endl;

  for(i=0;i<pointnum;i++)
	
	  cout<<setw(10)<<NodeX[i];
  cout<<endl;
for(i=0;i<pointnum;i++)
	
	  cout<<setw(10)<<NodeY[i];
  cout<<endl;
 cout<<"需计算点的值为:"<<endl;
	for(i=0;i<3;i++)
	cout<<setw(6)<<"x["<<i<<"]="<<x[i];
	cout<<endl;
 	for(i=0;i<3;i++)
	{
		result=Lagrange(NodeX,NodeY,x[i]);
	    cout<<"插值点x["<<i<<"]="<<x[i]<<"的函数值为y["<<i<<"]="<<result<<endl;
	}
}

⌨️ 快捷键说明

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