【问题标题】:Extract values from a curve in MATLAB从 MATLAB 中的曲线中提取值
【发布时间】:2018-02-08 01:36:10
【问题描述】:

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

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

【问题讨论】:

    标签: matlab plot extract curve


    【解决方案1】:

    假设您有实际的 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');
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-08-03
      • 2017-07-12
      • 2015-08-05
      • 2021-12-21
      • 2018-03-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多