在MATLAB中从曲线中提取值

时间:2018-02-08 01:36:11

标签: matlab plot extract curve

我在MATLAB中有一个值X和Y的图。我想在X的某些值上从图中提取Y的值,然后将这些值用于另一个计算。但是,我需要以不同于用于创建绘图的原始数据集的间隔提取这些值。如何从MATLAB中的绘图中采样这些点?

这可能非常简单,但我是MATLAB的新手!

1 个答案:

答案 0 :(得分:2)

假设您有实际的MATLAB图,您可以通过查找线对象并获取其XDataYData属性来检索绘制的数据:

hline = findobj(gca,'type','line');
x = get(hline,'XData');
y = get(hline,'YData');

以上假设该图是“当前轴”,您可以通过在运行该代码之前单击它来确保该图。它还假设只有一个线对象(一个图形)。

现在xy包含绘制的数据。您想以不同的x值对其进行采样。您可以使用interp1

newx = 0:0.1:10; % or whatever values of x
newy = interp1(x,y,newx);

默认情况下,它使用线性插值,绘制的图形也是如此。如果您愿意,可以选择不同的插值方法,例如:

newy = interp1(x,y,newx,'spline');