拉格朗日插值 不准确的问题
我有50个节点,利用这50个节点构造拉格朗日插值。每个节点的x值都能正确显示对应的y值。可是当我取节点以外的x值时,所取的x值在两头处时,y值明显不正确,当x值在中间时就比较正确。比如x节点1,3,5,7,9,,,,100。当我x取1.5或是99.5时y值明显不正确。这是为什么?在程序中怎么解决这个问题?
float jg1,jg2=0;
int m,n;
for(m=0;m<jj;m++)
{
jg1=1.0;
for(n=0;n<jj;n++)
{
if (m!=n)
{jg1*=(X-aa[n])/(aa[m]-aa[n]);
}
}
jg2+=bb[m]*jg1;}
ShowMessage(jg2);