📄 拉格朗日 策.cpp
字号:
#include<iostream.h>
int main()
{
int i,j,n1,p=1;
double x1,r,n[100],x[100],y[100],m[100],l[100];
char h;
//-----------------------------------------------输入各节点
cout<<"要输入的节点个数是:"<<endl;
cin>>n1;
cout<<"请输各节点的x和y"<<endl;
for(i=0;i<n1;i++)
cin>>x[i]>>y[i];
//-----------------------------------------------计算L的分母
for(i=0;i<n1;i++)
{
n[i]=1;
for(j=0;j<n1;j++)
if(j!=i)
n[i]=n[i]*(x[i]-x[j]);
}
//-----------------------------------------------计算L的分子
while(p==1)
{
cout<<"请输入一个x的值:"<<endl;
cin>>x1;
for(i=0;i<n1;i++)
{
m[i]=1;
for(j=0;j<n1;j++)
if(j!=i)m[i]=m[i]*(x1-x[j]);
}
//-----------------------------------------------计算L的值
r=0;
for(i=0;i<n1;i++)
l[i]=m[i]/n[i];
//-----------------------------------------------计算函数的值
for(i=0;i<n1;i++)
r=r+y[i]*l[i];
cout<<"当x的值为"<<x1<<"时的函数值为"<<r<<endl;
//-----------------------------------------------是否继续?
cout<<"是否继续计算别的函数值?是的话输y"<<endl;
cin>>h;
if((h=='y')||(h=='Y'))p=1;
else p=0;
}
return 1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -