首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

牛顿插值!解决办法

2012-02-01 
牛顿插值!!我的主程序中调用牛顿插值出现错误!!voidnewton(doublex[N],doubley[N],doublexx,doublefx){dou

牛顿插值!!
我的主程序中调用牛顿插值出现错误!!
void   newton(double   x[N],double   y[N],double   xx,double   fx)
{
double   **Y;Y=new   double*[N];
for(int   i=0;i <N;i++)
{
Y[i]=new   double[N];
}
for(i=0;i <N;i++)//把已知的给Y的第一列,y[N][N]各阶均差
{
Y[i][0]=y[i];
}
        for(i=0;i <N;i++)
{
for(int   j=1;j <N;j++)//初始化y矩阵的其它数据
{
Y[i][j]=0;
}
}
  for(int   j=1;j <N;j++)//求各阶均差
  {
  for(int   i=j;i <N;i++)
  {
  Y[i][j]=(Y[i][j-1]-Y[i-1][j-1])/(x[i]-x[i-j]);
  }
  }
fx=Y[0][0];//用插值法计算xx点的函数值
double   mid;
for(i=1;i <N-1;i++)
{
mid=1;
                for(int   j=0;j <i;j++)
                {
mid=mid*(xx-x[j]);
                        fx=fx+Y[i][i]*mid;
}
}
}
提示:error   C2065:   'N '   :   undeclared   identifier
            error   C2057:   expected   constant   expression
            error   C2466:   cannot   allocate   an   array   of   constant   size   0
            error   C2057:   expected   constant   expression
以上的错误都是第一行的!
请高手指教!谢谢!!!!

[解决办法]
最前面加上
#define N 1024
[解决办法]
修改函数,传入N:
void newton(double *x,double *y, int N, double xx, double fx)

热点排行