在 Matlab 中从 x-y 离散映射本身采样中间点
Sampling internediate points from x-y discrete mapping itself in Matlab
我绘制了一个分段定义的连续线性函数,由几条首尾相连的斜直线组成:-
x=[0,1/4,1/2,3/4,1];
oo=[1.23 2.31 1.34 5.69 7] % edit
y=[oo(1),oo(2),oo(3),oo(4),oo(5)];
plot(x,y,'g--')
我现在想从这个图本身中采样点,比如说我想要 y
对应于 x=0.89
。如何使用 Matlab 实现? Matlab 有内置的特殊功能吗?
是的,有一个内置函数:interp1
:
vq = interp1(x,v,xq)
returns interpolated values of a 1-D function at specific query points using linear interpolation. Vector x
contains the sample points, and v
contains the corresponding values, v(x)
. Vector xq
contains the coordinates of the query points.
[...]
有关其他选项,请参阅链接文档。例如,您可以指定 插值方法 (默认为线性),或者是否要 外推 (即允许 xq
值位于原始 x
范围之外)。
我绘制了一个分段定义的连续线性函数,由几条首尾相连的斜直线组成:-
x=[0,1/4,1/2,3/4,1];
oo=[1.23 2.31 1.34 5.69 7] % edit
y=[oo(1),oo(2),oo(3),oo(4),oo(5)];
plot(x,y,'g--')
我现在想从这个图本身中采样点,比如说我想要 y
对应于 x=0.89
。如何使用 Matlab 实现? Matlab 有内置的特殊功能吗?
是的,有一个内置函数:interp1
:
vq = interp1(x,v,xq)
returns interpolated values of a 1-D function at specific query points using linear interpolation. Vectorx
contains the sample points, andv
contains the corresponding values,v(x)
. Vectorxq
contains the coordinates of the query points.
[...]
有关其他选项,请参阅链接文档。例如,您可以指定 插值方法 (默认为线性),或者是否要 外推 (即允许 xq
值位于原始 x
范围之外)。