在各种数值计算中,引入近似函数是很方便的. 近似函数可以看作近似实数的推广. 近似实数给出单个数值量的某种精度的值. 而近似函数给出单参数或多参数的量的某种精度的值. 例如,
Mathematica 使用近似函数表示由
NDSolve 获得的微分方程的数值解,如
"微分方程的数值解" 中所述.
Mathematica 中的近似函数用
InterpolatingFunction 对象表示. 这些对象如同
"纯函数" 讨论的纯函数一样运行. 基本思想是当给定自变量的值时,该
InterpolatingFunction 对象求对应的近似函数值.
InterpolatingFunction 对象包含以插值为基础的近似函数表示. 它可以包含一系列点处的函数和导数值. 它假定函数在这些点之间是光滑的. 因此,在求特定自变量点处的函数时,
InterpolatingFunction 对象用插值法求近似函数.
可以像使用
Mathematica 中的其它函数一样使用近似函数. 可以画近似函数的图形,进行积分或求根等数值运算.
给出的函数信息越多,
Mathematica 构造的近似函数就越好. 例如,在一个点的序列上,不仅给出函数值,也给出导数值.
提高
InterpolationOrder 对插值多项式的次数的设置可以使近似函数更光滑. 但是如果次数太高,可能产生摆动.
ListInterpolation 对任意维数的数组都有效. 在各种情形下,它生成一个具有适当的自变量个数的
InterpolatingFunction 对象.
Mathematica 不仅能处理纯数值近似函数,也能处理包含符号参数的近似函数.