matlab提取plot曲线数据并储存,MATLAB|figure中提取曲线坐标数据的方法

1. 问题描述

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

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

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

2. 技术背景

MATLAB数据处理。

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

h=findobj(gca,'Type','Line'); % 提取曲线数据对象

x = get(h,'xdata'); % 坐标数据cell数据

y = get(h,'ydata');

3. 解决方案

4. 实施示例

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

得到如下的图像:

4.2 提取数据

clc,clear % 清空多余的数据

h=findobj(gca,'Type','Line'); % 提取曲线数据对象

x = get(h,'xdata'); % 坐标数据cell数据

y = get(h,'ydata');

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

4.3 数据检验

figure

for iloop =1 :4

subplot(4,1,iloop)

plot(x{iloop},y{iloop},'-o')

grid on

title('提取数据重绘')

end

5. 常见问题

暂无

本文用时 20 m

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