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

📄 拉格朗日插值.cpp

📁 qingduozhijiao
💻 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 + -