利用MATLAB命令窗口绘制Simulink仿真示波器波形的方法.doc.deflate
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
利用MATLAB命令窗口绘制Simulink仿真示波器波形的方法
最近写了一篇有关步进电机控制仿真分析的文章,需要将一部分仿真波形图贴到WORD里面去。但贴图时发现,如果直接将simulink中示波器的输出波形截图后贴到word文档中,会有很多不好解决的问题。首先是颜色问题,示波器黑色的底色让图像在打印后几乎看不出来。当然这个还好解决,只要将图片放到系统自带的画图工具中,取个反色就可以了;第二就是输出波形的线的颜色问题。示波器有默认的颜色输出顺序。当要输出多条波形时,有的颜色在取反色后,将变的非常潜,难以看清。这点相对来说不是很好解决,但好在一般前两种颜色在反色后还可以看清;第三就是输出波形的坐标非常小,而且没有对坐标所代表的参数进行标注。为此只好另找显示示波器波形的办法了。
在MATLAB里有个画图函数plot(x1,y1,'parameter1 ...
parameterN',x2,y2,'parameter1 ... parameterN',.....)。这个函数在命令窗口绘图中经常使用。x是横坐标量,y代表纵坐标量,parameter可以表示曲线颜色、线性等等。问题是如何将simulink里的示波器和这个函数联系起来。双击所要输出波形的示波器,打开示波器参数选择窗口,点击"Data history"标签,将第二个参数"Save data to workspace"打勾(如下图)。可填写变量名和选择格式。变量名随便,好记就行,格式选择Structure with time。
这里顺便说一句。在仿真时经常会出现仿真结束后,示波器显示的波形只有一部分的现象,这是第一个参数"Limit data points to last"被选中的缘故。这个参数被选中,输出点数被限制,当然波形就只能显示一部分了,只不过这样可以节省内存罢了。要全部显示,只要不勾就行了。
一切选择好后,点OK退出,运行仿真。在仿真结束后,在workspace里面会出现一个和前面设定的变量名相同名字的结构体变量。该变量中主要有一个名字为signals的结构体和一个名为time的向量。在signals里面还有一个values 的向量。这就是绘制新图形的数据基础。在命令窗口中输入
plot(ScopeData.time,ScopeData.signals.values,'k')
这样就可以输出一个坐标清楚的图形了。但是此时的坐标没有标注坐标所代表的量的名称。此时输入xlabel('time(s)'),在X坐标下就会显示time(s)字样,输入ylabel('speed(m/s)'),在Y轴同样输出speed(m/s)字样。改变' '内的字符串,就可以改变坐标下的名字。在命令窗口输入axis([xmin xmax ymin ymax]),就可以限定输出波形的上下界。输入set(gca,'xtick',[a b c d ....])可以重新标定坐标刻度,其中“a b c d ...”就是重新标定后的刻度值。grid on,grid off 命令可以打开和关闭网格。
经过这些命令一处理,就可以得到非常满意的输出图形了。