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

📄 lagelanri.cpp

📁 拉格朗日插值计算法
💻 CPP
字号:
//沈硕 自动化5班 3004203132

#include <iostream.h>
class dxiang
{
private:double *x,*y;//指向存放插值
		int n;//插值个数
public:dxiang(double *x1,double*y1,int num)
	   {
		   x=x1;y=y1;n=num;
	   }
	   double lagfun(double xa,int no)//拉格朗日公式
		   //xa是未知量,运算时传入;no是L(xa)的脚标
	   {
		   double k=1;
		   for(int i=0;i<n;i++)
		   {
			   if(i==no)continue;
			   k=k*(xa-x[i])/(x[no]-x[i]);//循环求解拉格朗日公式
		   }
		   return k;
	   }
	   double y_fun(double xa)//求解结果,xa是未知量
	   {
		   double result=0;
		   for(int i=0;i<n;i++)
			   result+=y[i]*lagfun(xa,i);
		   return result;
	   }
	   void print()
	   {
		   for(int i=0;i<n;i++)
			   cout<<'\t'<<x[i]<<'\t'<<y[i]<<endl;
	   }

};
void main()
{
	//温度X[]
	double X[]={	32,	122.4,	176,	296.4,	405.7,	447.6,	509,	608.4,	704.7,
		761.4,	799,	891.9,	983.0,	1072.6,	1125.7,	1160.8,	1230.3,	1247.5	};

	//电压Y[]
	double Y[]={	0,	300,	500,	1000,	1500,	1700,	2000,	2500,	3000,
		3300,	3500,	4000,	4500,	5000,	5300,	5500,	5900,	6000	};

	dxiang cn(X,Y,18);
	//已知温度a,b
	double a=1350,b=3400;

	cout<<'\t'<<"温度"<<'\t'<<"电动势"<<endl;
	cn.print();
	
	cout<<"温度是 1350摄氏度时,热电偶电动势为:"<<cn.y_fun(a)<<endl;
	cout<<"温度是 3400摄氏度时,热电偶电动势为:"<<cn.y_fun(b)<<endl;
}




⌨️ 快捷键说明

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