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