lagelanri.cpp

来自「常用的数值分析算法」· C++ 代码 · 共 38 行

CPP
38
字号
  #include   <math.h>
  #include   <iostream>  
  using namespace std;   
  #define   N   13
     
  double   lagrange(double  x, double xi[N], double yi[N] )   
  {   
    int   k,j;   
    double   y,lix;   
         y=0.0;   
  for(k=0;k<N;k++)   
      {   
         lix=1.0;   
      for(j=0;j<N;j++)   
          {   
              if(j!=k)   
			  {   
                 lix=lix*(x-xi[j])/(xi[k]-xi[j]);   
              }   
          }   
                y=y+yi[k]*lix;   
      }   
                 return(y);   
  }

int main()
{    double ini,res,x[N];
     for(int i=0;i<N;i++)
	{
        x[i]=i*10; 
    }
	 double y[N]={5,1,7.5,3,4.5,8.8,15.5,6.5,-5,-10,-2,4.5,7};
	cout<<"please input a x:\n";
    cin>>ini;
    res=lagrange(ini,x,y);
	cout<<res<<endl;
    return 0;
}

⌨️ 快捷键说明

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