MATLAB|figure中提取曲线坐标数据的方法

1. 问题描述

MATLAB数据处理中看可能遇到这样的问题:数据处理过程,调用第三方工具箱进行分析,得到了预期的图像,但无法提取图像曲线对应的数据。如得到如下曲线:

MATLAB|figure中提取曲线坐标数据的方法_第1张图片

需要提取曲线中的数据,进行进一步的分析。如果在源程序中到曲线对应的数据变量 ,可能比较麻烦,在诸多变量中,难以准确判断变量与曲线的对应关系,例如:

MATLAB|figure中提取曲线坐标数据的方法_第2张图片

此事,可以考虑直接从figure对象中提取曲线数据。

2. 技术背景

MATLAB数据处理。

从figure中提取曲线数据的关键命令为:

h=findobj(gca,'Type','Line');                                                   % 提取曲线数据对象
x = get(h,'xdata');                                                             % 坐标数据cell数据
y = get(h,'ydata');

3. 解决方案

4. 实施示例

4.1 调用第三方工具箱,求解曲线图像

得到如下的图像:

MATLAB|figure中提取曲线坐标数据的方法_第3张图片

4.2 提取数据

clc,clear                                                                       % 清空多余的数据
h=findobj(gca,'Type','Line');                                                   % 提取曲线数据对象
x = get(h,'xdata');                                                             % 坐标数据cell数据
y = get(h,'ydata');

此处由于存在4条曲线,且点数不同,故x、y数据为4个数组构成的cell数据:

MATLAB|figure中提取曲线坐标数据的方法_第4张图片

4.3 数据检验

figure
for iloop =1 :4
    subplot(4,1,iloop)
    plot(x{iloop},y{iloop},'-o')
    grid on
    title('提取数据重绘')
end
MATLAB|figure中提取曲线坐标数据的方法_第5张图片

5. 常见问题

暂无

本文用时 20 m

你可能感兴趣的:(MATLAB|figure中提取曲线坐标数据的方法)