📄 lagelanri.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 + -