仿真绘图总结
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Simulink仿真绘图总结:建议使用方法4,方法1,2不宜使用。
1. 运行仿真模型,用Scope观察结果,用ALT+PrintScreen抓取图形,Ctrl+V粘贴到Word。
2. 使用Scope打印功能,在Word中插入图形来自文件。
3.在Scope中参数设置如下:在MATLAB命令窗口输入:plot(x(:,1),x(:,2:4));%%%%此处有三个输出。在figure/Edit菜单下选择Copy Options…,在打开得对话框中设置如下:然后在figure/Edit菜单下选择Copy Figure,Ctrl+V粘贴到Word。
这时还可再用绘图命令修改完善,如下: 4.用out模块替代Scope模块,仿真结束后用绘图命令:plot(tout,yout); 在figure/Edit菜单下选择Copy Figure,Ctrl+V粘贴到Word。
5.使用plot(tout,yout); saveas(gcf,'myfigure','emf');在Word中插入图片来自文件myfigure.emf。70605040302010000.511.522.533.544.5
如何编辑和保存simulink中scope显示结果关于scope结果的保存,论坛里的一般回答都是输出到workspace,再plot,但是plot在一张图里只可以有一个坐标系,在多变量情况下很不方便,不能实现scope中多axis的情况。另外若直接打印scope 显示的结果,图形颜色无法编辑,也不能在图上加线条或文字。可以在打开scope情况下,在matlab中输入命令shh = get(0,'ShowHiddenHandles');set(0,'ShowHiddenHandles','On')set(gc f,'menubar','figure')set(gcf,'CloseRequestFcn','closereq')set(gcf,'Defa
ultLineClipping','Off')set(0,'ShowHiddenHandles',shh)这样scope隐藏的编辑菜单就会出现,与plot中的菜单类似,可以方便的编
辑scope中的图形,并可以将图形另存为*.fig,或者export为*.jpg,*.bmp等等。使用plot打印图片:1.首先添加一个clock 时间控件,输出时间t到一个示波器里。修改该示波器参数,进入到datahistory,删除limit data,勾选save data to workspace,变量名t,格式array。(或者使用to workspace这样一个控件)2.仿照上面示波器参数设置,修改你所要显示的示波器。设变量名为x3.在MATLAB主界面(或新建一个m文件)输入:plot (t,x)(ps:有时候t可能不止一列,需要选择一下,如:plot(t(:,1),x))4.整理图像,选edit下copy figure,粘贴入word
中。simulink在一个图形中画出多个示波器曲线的方法最近碰到一个问题,就是做仿真模型的时候需要在这个模型的基础上,改变相应的参数,画出相应的转矩或者角速度的图像,这样就能在一个图形中画出个曲线,可以比较不同参数下对转矩或者角速度的影响。具体方法是,把示波器的图像显示在图形中,前面的博文已经做过了解决。那就是通过设置示波器参数把示波器图形用plot命令显示。如:双击所要输出波形的示波器,打开示波器参数选择窗口,点击"Data history"标签,将第二个参数"Save data to workspace"打勾(如下图)。可填写变量名和选择格式。变量名随便,好记就行,格式选择arry。这里顺便说一句。在仿真时经常会出现仿真结束
后,示波器显示的波形只有一部分的现象,这是第一个参数"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 命令可以打开和关闭网格。经过这些命令一处理,就可以得到非常满意的输出图形了。怎么在plot命令中显示多条曲线呢,即在一组参数下仿真图像是1,当我用另外一组参数仿真得到仿真图像 2.怎么样才能把这两个图像放在一个图中呢。通过查询我得到了一个简单的办法,即,仿真1结束
后,plot(y1)然后输入 hold on 命令然后再plot(y2)当然y1
和y2是把示波器的变量重新定义了以后。也可输入相同的plot (y)只要两条曲线不同。方法2:设你的波形变量保存为
y1,...y5, plot([y1;y2;y3;y4;y5])把五条曲线画到一个图上.注意to workspace中保存类型是array. 方法3:如果你要在一个坐标轴内显示几个曲线,那么就在用一个mux,把速度和转矩合并一个变量,然后to workspace,然后用plot画可以显示出跟示波器一样的一个图形2个曲线。我主要用方法1,简单明了。示波器图形保存方法:方法1,用Print Screen Sys Rq 抓图,复制到画图版,再将图形剪到word中;方法简单但效果不好,对于数据线多的颜色糟糕方法2,改变仿真参数,选择save....下的参数,将仿真得到结存波形存至workspace 只要构建变量,在工作窗口输入以下命令:
t=ScopeData.time; y=ScopeData.signals(:,1).values;%多个窗口的
多个信号的第i个窗口plot(t,y,'');% 多窗口推荐subplot MATLAB中用plot命令画出示波器的图形总结这两天碰到一个问题是关于用MATLAB命令把示波器图形画出,经过努力总算得到解决。看到网上有的同行问怎么改示波器的背景,把示波器波形复制到Word中,我有两种方法,第一种是我一个同学告诉我的,通过命令对示波器进行操作。具体如下shh =