我的主程序中调用牛顿插值出现错误!!
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
以上的错误都是第一行的!
请高手指教!谢谢!!!!
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
以上的错误都是第一行的!
请高手指教!谢谢!!!!
解决方案 »
- 【大牛帮忙】覆盖已经画的像素点
- (高分求救)skin++与自绘clistctrl冲突。
- 如果判断一个IShellFolder对象,是虚拟文件夹,还是真实的文件夹?
- 关于映射模式的问题!
- 数组的前缀一般怎样写?
- clrscr()这个函数在VC中怎么被调用?
- 强答题:请听好题"请问如何在可编辑的列表框中显示你想输入的字符串,而且可以输入多行?",开始!
- 关于SDK,MFC,API的关系
- 大家有空就来讨论一下程序链接加载启动的问题吧.
- vc 2005 win32编程中设计对话框可以用拖拉的方式,设计主窗口也可以这样吗?
- 如何编写SQL语言来删除一个主键字段
- 求助:怎么在基于对话框的工程中的静态文本控件上显示位图?
#define N 1024
宏定义的N的大小与我输入的数据的个数不相等也没关系吧??
谢谢!!
double *x,double *y,double xx,double fx,int N
只有N作为宏定义才可以解决所有的4个错误!上面的double *x,double *y,double xx,double fx,int N只能解决一个N的问题!!!
void newton(double *x,double *y, int N, double xx, double fx)