找回密码
 注册
Simdroid-非首页
查看: 76|回复: 3

请教如何将*.fig图像文件直接转换成一个2维数组

[复制链接]
发表于 2008-7-10 14:16:01 | 显示全部楼层 |阅读模式 来自 美国
我有一些两位数组生成的fig图形文件,想在x轴和y轴上进行一些分析,我找了一下*.fig 文件的属性里面好像有一个CDdata,但它是一个3*m的数组,好像是把原来的2维数组变成了一维的,3应该是颜色的3个字节。
有没有什么函数可以直接将fig文件转换成2维数组的?
谢谢
发表于 2008-7-10 23:01:01 | 显示全部楼层 来自 湖北武汉
Simdroid开发平台
如果是曲线图形(一维函数图)*.fig
可以先打开该文件(用open、openfig或双击该文件等操作)
然后在命令窗口输入如下命令获得其句柄:
fig=findobj(gca,'Type','line');
然后根据该句柄读取其所有数据:
fig_data=get(findobj(fig));
fig_data是一个结构,保存了*.fig的所有信息
你需要的是XData和YData:
xdata=fig_data.XData;
ydata=fig_data.YData;

评分

1

查看全部评分

回复 不支持

使用道具 举报

 楼主| 发表于 2008-7-11 04:15:43 | 显示全部楼层 来自 美国

多谢

我的fig图形文件是一个2维数组生成的2维图形,我试过你的方法,只是不知道2维数组对应到那个变量上面,我现在想到的一个方法是将fig文件转换成tif文件,直接用imread()读入,再转换成为2维数组,不过这样好象是个笨方法,我想matlab里面应该将fig文件的数据源存在一个地方了,因为你可以调节colorbar改变图形的颜色和对比度。只是不知道有没有直接读fig图形文件的函数
谢谢
回复 不支持

使用道具 举报

发表于 2008-7-11 12:01:29 | 显示全部楼层 来自 湖北武汉
mesh或者surf绘图保存的fig,打开后:
fig=findobj(gca,'Type','surf');
同样,
fig_data=get(findobj(fig));
最后
xdata=fig_data.XData;
ydata=fig_data.YData;
zdata=fig_data.ZData;
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Simapps系列直播

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-10-7 09:26 , Processed in 0.053335 second(s), 17 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表