我正在尝试实现Neville 的算法。
我有 32 个点代表 sin(x) 函数:
int N=32,Nx=10000;
step = 1.0 / (N-1);
for (ii = 0; ii < N; ii++){
px[ii] = ii*step*PI;
py[ii] = sin(px[ii]);}
我有一个用于评估多项式的输入向量:
for (ii = 0; ii < Nx; ii++)
x[ii] = 2.0 * rand() / (double) RAND_MAX; // 0 < x[ii] <= 2
这是我的内维尔街区:
double y[Nx];
for (kk=0;kk<Nx;kk++){// for each x[]'s element
for (jj=1;jj<N-1;jj++){
for (ii=0;ii<N-1-jj;ii++)
s[ii]=(((px[jj]-x[kk])*py[ii])+((x[kk]-px[ii])*py[ii]))/(px[jj]-px[ii]);
}
y[kk]=s[0];//insert in the output array the value just calculated
}
问题是s[ii]
,我不确定这个计数是否正确。