📄 拉格朗日插值.cpp
字号:
#include<iomanip.h>
#include<math.h>
float Ln(int k,int m,float z,float g[])
{int i,j;
float s=1,t=1,w;
for(i=0;i<=m;i++)
{if(i!=k)
{t=t*(z-g[i]);
s=s*(g[k]-g[i]);}}
w=t/s;
return w;}
main()
{int i,j,k,n,m;
float x[20],y[20],s=0,z,t;
cout<<"press in n and x\n";
cin>>n>>z;
for(i=0;i<=n;i++)
{cout<<"\npress in x[i] and f(x[i])\n";
cin>> x[i]>>y[i];}
for(j=0;j<=n;j++)
s=s+Ln(j,n,z,x)*y[j];
cout<<"the exquation L(x)=\n";
for(j=0;j<=n;j++)
{if(Ln(j,n,z,x)==0)
continue;
cout<<"("<<Ln(j,n,z,x)<<")"<<"*";
for(i=0;i<=n;i++)
{
if(i!=j)
cout<<"(x"<<(x[i]>=0?'+':'-')<<fabs(x[i])<<")";
if(i!=n&&i!=j)
cout<<"*";}
if(j<n)
cout<<"+";}
cout<<"\b"<<" ";
cout<<"\nans ="<<s;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -