是 Interpolation 的一个选项,同 ListLinePlot、ListPlot3D、ListContourPlot 和相关函数中的一样,指定了所使用插值的次数.
InterpolationOrder
是 Interpolation 的一个选项,同 ListLinePlot、ListPlot3D、ListContourPlot 和相关函数中的一样,指定了所使用插值的次数.
更多信息
- InterpolationOrder->n 指定应该在数据点间进行 n 次多项式的插值.
- 对于多维数据,多项式的每个变量为 n 次.
- InterpolationOrder->None 指定图线中的数据点应该被连接起来,而无需插值.
- InterpolationOrder->0 生成一个扁平区域集合,以每个数据点为步长.
- InterpolationOrder->1 在二维空间中用直线连接数据点,在三维空间中用分段多边形曲面元素连接数据点.
- 更高次的插值通常会导致越来越光滑的曲线或平面.
- 在诸如 NDSolve 这样的函数中,InterpolationOrder->All 指定了应当选择的插值阶数和底层求解方法的阶数相同.
- InterpolationOrder 还可以用在其他函数如 Manipulate 中,指定在控制点(如 bookmark)之间的动画的光滑度.
范例
打开所有单元 关闭所有单元基本范例 (3)
data = {{0, 0}, {1, 2}, {3, 4}, {4, 2}, {6, 0}};Table[ListLinePlot[data, InterpolationOrder -> n], {n, {0, 1, 3}}]data = Table[Sin[x y], {x, 0, 4, 0.5}, {y, 0, 4, 0.5}];Table[ListPlot3D[data, InterpolationOrder -> n, Mesh -> None], {n, {0, 1, 3}}]使用不同的插值次数构建 InterpolatingFunction:
data = {{0, 0}, {1, 2}, {3, 4}, {4, 2}, {6, 0}};Table[Plot[Evaluate@Interpolation[data, InterpolationOrder -> n][x], {x, 0, 6}], {n, {0, 1, 3}}]范围 (4)
ifun = Interpolation[Table[{x, Sin[π x]}, {x, 0, 1, .1}], InterpolationOrder -> 5]Plot[Sin[π x] - ifun[x], {x, 0, 1}]data = {0, 0, 1, 0, 0};Table[ListLinePlot[data, InterpolationOrder -> order], {order, 0, 3}]对于 GCD 数据,显示更高次插值的平滑效果:
data = Array[GCD, {10, 10}];Table[ListPlot3D[data, InterpolationOrder -> order, PlotRange -> {0, 10}, Mesh -> None], {order, {0, 1, 3, 9}}]求一个解,用与 NDSolve 求解方法次数相同的插值:
AbsoluteTiming[a = NDSolveValue[{x'[t] == y[t], y'[t] == -x[t], x[0] == 1, y[0] == 0}, x, {t, 0, 1000}, InterpolationOrder -> All]]AbsoluteTiming[d = NDSolveValue[{x'[t] == y[t], y'[t] == -x[t], x[0] == 1, y[0] == 0}, x, {t, 0, 1000}]]Plot[Evaluate[{a[t], d[t]} - Cos[t]], {t, 0, 10}, PlotRange -> All, PlotStyle -> {Directive[Thick, Blue], Red}]可能存在的问题 (1)
f[x_] := 1 / (1 + 25 x ^ 2);points = Table[{x, f[x]}, {x, -1, 1, .1}];if20 = Interpolation[points, InterpolationOrder -> 20]Plot[if20[x], {x, -1, 1}, PlotRange -> All]if3 = Interpolation[points];
Plot[if3[x], {x, -1, 1}]Table[ifn = Interpolation[points, InterpolationOrder -> order];
Plot[ifn[x] - f[x], {x, -1, 1}, PlotRange -> All, BaselinePosition -> Axis], {order, {3, 9, 12}}]历史
1996年引入 (3.0) | 在以下年份被更新:2007 (6.0) ▪ 2008 (7.0)
文本
Wolfram Research (1996),InterpolationOrder,Wolfram 语言函数,https://reference.wolfram.com/language/ref/InterpolationOrder.html (更新于 2008 年).
CMS
Wolfram 语言. 1996. "InterpolationOrder." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2008. https://reference.wolfram.com/language/ref/InterpolationOrder.html.
APA
Wolfram 语言. (1996). InterpolationOrder. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/InterpolationOrder.html 年
BibTeX
@misc{reference.wolfram_2026_interpolationorder, author="Wolfram Research", title="{InterpolationOrder}", year="2008", howpublished="\url{https://reference.wolfram.com/language/ref/InterpolationOrder.html}", note=[Accessed: 04-July-2026]}
BibLaTeX
@online{reference.wolfram_2026_interpolationorder, organization={Wolfram Research}, title={InterpolationOrder}, year={2008}, url={https://reference.wolfram.com/language/ref/InterpolationOrder.html}, note=[Accessed: 04-July-2026]}