Fortran Coder

标题: 拉格朗日插值法,跑Aitken算法时出现NaN与Infinity [打印本页]

作者: 幼红月    时间: 2020-2-22 13:50
标题: 拉格朗日插值法,跑Aitken算法时出现NaN与Infinity
aitken.txt (388 Bytes, 下载次数: 2)   
  如附件和图1,我编了aitken算法后,人工验证后觉得原理没有问题,运行也没有bug。
  但如图2,跑完后发现,无论n,l,x,y怎么取值, i=2 k=1 时算出的 y(k+i) 总会出现nan或infinity 。
  图2是拿了个简单的线性插值验证下,发现没有除零问题。到底是为什么呢?实在想不通,请问有大佬解惑吗?


作者: fcode    时间: 2020-2-22 14:27
y(k+i)=(l-x(k+i))*y(i)/(x(i)-x(k+i))+(l-x(i))*y(k+i)/(x(k+1)-x(i))
                                                                                    ^
确定这里是1??
如果是1的话。当 k=1,i=2 时,分母 (x(k+1)-x(i)) 为 0
作者: 幼红月    时间: 2020-2-22 16:03
fcode 发表于 2020-2-22 14:27
y(k+i)=(l-x(k+i))*y(i)/(x(i)-x(k+i))+(l-x(i))*y(k+i)/(x(k+1)-x(i))
                                  ...

非常感谢!是我看久眼花没看出来了的问题了,诶人工验证时都是算成k+i,没想到我这个怎么手残写成了k+1.
作者: 幼红月    时间: 2020-2-22 16:14
幼红月 发表于 2020-2-22 16:03
非常感谢!是我看久眼花没看出来了的问题了,诶人工验证时都是算成k+i,没想到我这个怎么手残写成了k+1. ...

问题已解决




欢迎光临 Fortran Coder (http://bbs.fcode.cn/) Powered by Discuz! X3.2