matlab曲线图导出,从Matlab的Figure中导出数据的办法
具体的办法是:两种方法一样,没什么差别第一种:https://hi.baidu.com/adda/blog/item/a40aecc40db76cae8326ac69.htmlopen(fnam); % fnam是文件名lh=findall(gca,'type','line'); % 从当前图(gca)中取出曲线的handle,xc=get(lh,'xdata'); % 取出x轴数据,注意,这个x
具体的办法是:两种方法一样,没什么差别
第一种:https://hi.baidu.com/adda/blog/item/a40aecc40db76cae8326ac69.html
open(fnam); % fnam是文件名
lh=findall(gca,'type','line'); % 从当前图(gca)中取出曲线的handle,
xc=get(lh,'xdata'); % 取出x轴数据,注意,这个x和y是以cell的数据结构保存的
yc=get(lh,'ydata'); % 取出y轴数据
x=xc{1};从cell转换成矩阵,可以这样写
y=yc{1};
第二种:
1、在命令行运行figure打开一个空白窗口,
2、在工具栏或者菜单中选择open打开你保存的fig文件,会显示出原来的那个图来。
3、在命令行运行obj = get(gca,'children')
这个结果对应你的图里面的线或者面的句柄,有几条线就对应几个句柄。
4、根据你需要的是哪条线,第n条线句柄就是obj(n),如果只有一个对象直接用obj就可以,
然后再用一次get,
x=get(obj(1), 'xdata');
y=get(obj(1), 'ydata');
如果是三维图,再加上个z=get(obj(1),'zdata');
x、y、z就是你所需要的坐标数据
-----------------------------
% the data
x=1:10;
y=rand(size(x));
fnam='afig.fig';
% ...on display
fh=figure;
line(x,y);
% ...and saved
saveas(gcf,fnam);
delete(fh);
% the engine
open(fnam);
lh=findall(gca,'type','line');
xx=get(lh,'xdata');
yy=get(lh,'ydata');
% the result
[isequal(x,xx)
isequal(y,yy)]
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)