【发布时间】:2015-05-26 10:32:28
【问题描述】:
我在使用非单调函数进行插值时遇到问题。
x=[34,35,36,37,38,39,41,42,43,44,45,46]
y=[0.33 0.166 0.25 0.33 0.5 0.58 0.66 0.66 0.5 0.58 0.8 0.66]
我希望能够插入对应于 Y 值 0.25 的 X 值。
在绘制(x,y) 时,我可以看到有两个点对应于 Y 值 0.25,因此正常插值(使用 interp1)不起作用。
错误:“网格向量不是严格单调递增的。”
有没有办法插入两个点然后计算它们的平均值,我找不到任何适合我的问题。
【问题讨论】:
-
哪两个值对应相同的
0.25值我在y向量中只看到一个0.25值? -
确实,但在第一个 (0.33) 和第二个 (0.166) 点之间还有另一个“隐藏”值 0.25,我也想插值。
-
然后使用非线性插值方案,因为这将产生正确的结果,而不是线性插值方法
标签: matlab interpolation