分享

关于matlab做图的一些东西(—)

 nizhonglian 2011-01-23

 

转自:http://blog.sina.com.cn/s/blog_4b013fb10100j7u1.html

这学期学了几门课程,用到不少matlab的做图方面的东西,现总结一下。

    1、首先谈谈关于示波器scope的做图。记得大三的时候学控制系统仿真的时候,用simulink中的示波器模块,做图的时候首先截屏,然后到画图板中进行反色等操作,现在想想,有点小白。有三种方法可以取得比较好的做图效果。

    第一种是直接对示波器图像进行操作,过程网上有,感觉不好用,没有使用过。有个命令倒是值得记一下,inspect(句柄),跳出属性对话框。

    第二种方法是用 to workspace模块,拉出一个时钟clock模块,在所需要的输出端也加一个这样的模块,需要注意的是,要把数据保存类型从默认的structure改为array。比如将时间输出的变量设为t,输出变量名称设为y,plot(t,y)就可以做出图像,这样就可以使用图像控制命令进行相应的控制了。xlabel、ylabel、title、legend等命名命令中可以改变字体和字号,比如xlabel('\fontsize{16}')。此外xlim、axis等控制坐标轴的范围。

    第三种方法就是直接使用scope中的数据。具体方式是双击示波器,点操作栏的第二个选项parameters,选择data history,勾取save data to workspace选项,将变量名称修改为自己所需的,数据类型也改为array,仿真结束后,就可以得到所需要的数据变量,对于常规的一个信号输入,设我们所使用的变量名称data1,那么第一列数据data(:,1)为时间数据,第二列data(:,2)即为输入scope的信号数据。如果需要多行数据输入,可以使用向量组合工具mux,这样的话第三列data(:,3)即为输入scope的第二个信号数据,以此类推。在这里需要提醒的是,默认的保存数据个数是5000个,对于电机仿真这样的数据量很大的过程来说,需要将个数限制取消。

    当然了,也可以用save to file,这样的话可以将数据比较长期的存下来,不会因为clear或者重新启动matlab而丢失数据,这对仿真过程比较漫长的程序是有用的。

    2、对于图像的控制命令。set(gcf,'menubar','figure/none')可以控制图像的菜单栏的有无,这个命令还是比较有用的,因为有时候matlab一些工具箱什么的自己做出来的图像没有菜单栏,这样的话我们就没有办法将图像另存为矢量emf格式或者用edit中的copy figure将图像弄到画图板中。此外(gcf,'numbertitle','off',

'name')语句可以去掉默认的图像标题并加上自己的图像标题。

    3、simulink框图使用。话说我以前一直用UltraSnapPRO这个软件进行截屏,后来听说可以用edit中的copy model to clipboard直接将框图整到画图板中。不过我比较了一下,两者的效果差不多。

    4、关不掉的图像处理。有时候会出现图像关不掉的情况,可以使用h=findall(0,'type','figure')获得所有图象对象的句柄,然后delete(h)即可。

    恩,暂时就这样了。

 

2010年06月28日晚上于njust automation 101 房间

 

CopyRight:版权所有若需转载或使用请联系作者

Email:dingqian12345@126.com

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多