星期四, 八月 24, 2006

Mathematica 中的插值(Interpolation)函数及使用

Mathematica 支持所有的数学插值概念,比如拉格朗日(lagrange) 插值,牛顿(newTon)插值.
及其他插值方法。
各种插值方法:http://mathworld.wolfram.com/Interpolation.html
参考数值积分:http://mathworld.wolfram.com/NumericalIntegration.html


使用拉格朗日(lagrange) 插值的函数为InterpolatingPolynomial
参考: http://mathworld.wolfram.com/LagrangeInterpolatingPolynomial.html
最后的结果用Newton-Cotes formula 牛顿-科茨公式形式

NewTon插值没有实现可以参看一个实现:
http://math.fullerton.edu/mathews/n2003/NewtonPolyMod.html
或这里:http://mathworld.wolfram.com/NewtonsDividedDifferenceInterpolationFormula.html



f = Interpolation[lsdata[[All, {3, 4, 5, 6, 7, 8, 9}]][[1]]]
f[4]

NumericalMath`PolynomialFit`
InterpolatingPolynomial[lsdata[[All, {3, 4, 5, 6, 7, 8}]][[1]], x]
N[f /. x -> 3]
(*freeze lock*)
InterpolatingPolynomial[lsdata[[All, {3, 4}]], x]
(*dead*)