MATLAB命令画出simulink示波器图形
matlab-simlink仿真波形画图技巧

相信很多同学,特别是硕士和博士同学在写期刊论文或学位论文时需要使用matlab/simulink仿真,而且需要将波形导出来写入论文。
本文将介绍一种导出波形的方法,不一定是最快捷的,但是一定能够达到清晰的效果。
1.建立仿真模型:建立好仿真模型后,放置“示波器(scope)”(你想看的波形),双击“示波器”,看到类似下图对话框,上方有工具栏,第一个是“打印”,第二个是“参数”,单击参数按钮,弹出下图中间“参数”对话框,“参数”对话框的第二个选项卡下去掉“限制至结束的数据点数”前的复选框,勾选“保存到工作空间(Save data to workspace)”,并对要保存的数据命名(图中为“ULoad”)数据的格式(format)下拉列表就选择默认的(Structure with time),就是含有时间的结构体。
有些老师在授课的时候说选择Array(即只有数据的数组),想想matlab也是大公司,默认肯定是有道理的。
2.仿真:本文不讲。
3.查看:仿真完成后,会在工作空间(workspace)出现下图所示结构体变量ULoad,双击该结构体变量,会出现右侧Variable Editor窗口,可以清楚地看到ULoad内部有些什么变量,可以继续双击其中的元素,可以查看所有内容。
该步骤可省略,只是查看功能。
4.画图:这是关键的一步,请用simplot函数,而不是plot函数,而simplot函数对应的变量形式就是“Structure with time”,也就是说matlab公司希望用户直接用这个函数。
例如:simplot(ULoad);出现下图所示与示波器一模一样的图形。
单击工具栏“属性”按钮,如图中红色圆圈中所示。
5.属性编辑:这一步也很重要,单击属性按钮后,如下图所示属性面板好像啥也没有,不捉急,你想修改什么就单击什么,比如背景肯定不希望是黑色的吧,单击背景,或者坐标轴(因为背景和坐标是属于坐标轴的),如下图所示左下方红色框内改变背景填充色和网各色,也可以去掉网格,左上方为添加标题,中间为xy坐标范围和标签,后面都有个Ticks按钮,还有more properties按钮,点开看看呗。
SIMULINK示波器参数设置_matlab中对示波器进行设置

SIMULINK示波器参数设置_matlab中对示波器进行设置SIMULINK示波器参数设置在SIMULINK中,示波器常用来作为输出工具,将模型的运行结果展现在人们面前。
它把信号按照时间的顺序在二维坐标轴上显示出来。
示波器的横坐标表示时间轴,纵坐标表示信号的强度。
仿真过程中我们可以按照需要改变坐标轴的设置。
示波器的设置主要包括两个方面:1、右击显示界面,点选AXESPROPERTIES弹出的设置菜单该菜单主要用来设置Y轴的数值范围和标题。
2、点击PARAMETERS图表,进入的参数设置菜单GENERAL下的设置如下:TImerange(时间显示范围):单位是秒,它决定了示波器时窗(即X轴)的宽度。
信号的频率越高,所要的时窗越短。
当设置为auto时,时间轴的显示范围就等于整个仿真段。
Sampling(采样方式):当选取(DecimaTIon)时,示波器将每隔若干个输入信号产生一个输出;当选择采样方式(Sampling)时,示波器每隔一个采样时间产生一个输出。
采样点(周期除以采样时间)的多少以能够不失真的再现信号波形为原则。
一般在建立模型时,对电压源或者电流源都会设置采样时间,两者不可混淆。
Numberofaxes(纵坐标的个数):缺省的情况下,纵坐标的个数是1,这时候只有一个坐标图;当纵坐标数大于1时,示波器划分为多个坐标,并且示波器有多个输出端口。
TIcklables(坐标轴的显示标签):当选择all时,显示所以的纵坐标和横坐标的标签;当选择none时,不显示任何坐标轴的标签;当选择bottomaxisonly时,只显示各个纵坐标以及最下面横坐标的标签。
那么,matlab中是如何对示波器进行设置的?做数学或者图像方面的人经常会用到示波器,通过示波器来显示波形对于仿真来说是非常重要的,但是有的时候示波器的默认设置不是我们想要的,那么我们可以根据自己的需求对示波器进行设置。
打开matlab,这里我以我自己的为例。
Simulink利用Scope输出及绘制仿真波形技巧

Simulink利用Scope输出及绘制仿真波形技巧在用Simulink做仿真时,我们经常会用到示波器Scope来观察波形,它可以对波形进行局部放大、按横、纵座标放大,非常方便,但是如果我们要保存波形时,就最好别直接拷贝Scope波形了,因为它的背景是黑的,而且不能进行线形修改和标注,不适合作为文档用图。
一般的做法是将数据输出到工作空间,然后用画图指令Plot画图。
输出到工作空间的方法一般有这么几种:1.添加To Workspace模块;2.添加out模块;3.直接用Scope输出。
本人比较懒,一般不再添加其他输出模块,直接选用方法3。
当然不是说放一个Scope就能数出数据的,需要对Scope进行设置。
设置界面如下:这里最好把Limit data points to last勾掉,因为很有可能你的数据会超过5000个。
勾选Save data to Workspace,变量类型可以选结构体,结构体带时间,以及向量(后面我们会分别介绍这几种变量类型的画图方法)。
运行Simulink,输出完数据,你就可以利用Matlab的画图工具随心所欲的画图了。
下面以一个例子分别介绍三种变量类型的画图方法。
1.输出类型为向量形式。
从图上看到,输出了两维时间序列,而实际输出到工作空间的变量ScopeData为三维序列,其中第一列为时间,这正好为我们画图提供了方便。
我们可以采用画图命令如下:figure;plot(ScopeData(:,1),ScopeData(:,2),'LineWidth',;hold on;plot(ScopeData(:,1),ScopeData(:,3),'r:','LineWidth',;legend('正弦波','锯齿波');hold off;当然你还可以采用其他绘图方式,如采用Subplot方式。
2.输出类型为Structure with Time。
matlab中仿真的scope图像的设置

如何设置显示matlab中的scope 图像1、我们使用Matlab绘制出数据的各种图形需要保存的时候,不少同学是直接用屏幕截图的办法来做的,但这样出来的图并不清晰,不便于后续应用和处理,并且往往不符合发表论文的要求,很多论文是要求用.eps 格式的图片的。
实际上,我们可以有下面两种更好的处理方法:(1)在论文里插入图片在Matlab的Figure窗口,点击菜单栏的Edit,选择Copy Figure,然后转到你的文档界面,把光标放到需要插入图片的位置,然后Ctrl+C,你就可以得到比较清晰的图片了。
需要注意的是,这时候的图片有相当一部分空白区域,你可以用word图片工具栏的‘裁剪’功能把图片空白区域消除掉。
另外,如果需要对图片的大小进行拉伸,最好不要直接用鼠标拖拉,这样容易导致图中的点线分布变形,可以右键点击图片,选择‘设置图片格式’,在‘大小’标签的‘缩放’栏里,设置图片的大小。
(2)直接保存Figure为了便于后续处理和应用,建议大家形成一个良好习惯,即把绘制所得的Figure窗口直接保存为.fig文件,以后你就可以多次打开它,对图像进行修改处理,例如加注标签(label)等,也可以打开.fig文件把所显示的图像转存为其它格式的文件,例如.eps、.jpg等。
2、在做Simulink仿真时,使用的Scope波形显示模块实际上也是一种Figure窗口,不过Matlab把Scope的菜单栏隐藏起来,只提供了几个有限的参数设置。
如果需要对Scope中的图加上坐标、更改界面背景色等,没有菜单栏就基本上无从下手了。
可以在打开你的mdl文件之后,在Matlab的命令行输入以下指令来恢复显示Scope的Figure 菜单栏:>> set(0,'ShowHiddenHandles','on');>> set(gcf,'menubar','figure');这样Scope窗口就如下所示:然后点击菜单栏的Edit ,可以选择Copy Figure 来保持波形图,也可以选择Figure Properties 来调整Scope 的各种图形属性,包括添加xlabel、ylabel、title,更改背景颜色,调整波形曲线的线型、粗细等等:P.S.:除了上面说的那两行指令外,在网上还找到一段相似的程序,不过我使用时Matlab提示第4行代码出现Error,不知是何原因,也贴在这里大家分析下吧,呵呵。
MATLAB的SIMULINK仿真scope绘图总结

Simulink仿真绘图总结:建议使用方法4,方法1,2不宜使用。
1.运行仿真模型,用Scope观察结果,用ALT+PrintScreen抓取图形,Ctrl+V粘贴到Word。
2.使用Scope打印功能,在Word中插入图形来自文件。
3.在Scope中参数设置如下:
在MATLAB命令窗口输入:plot(x(:,1),x(:,2:4));%%%%此处有三个输出。
(此处按原文输入,会报错“??? Index exceeds matrix dimensions.”,后改为plot(x(:,2)),成功!——hw注)在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。
MATLAB_simulink中的示波器scope设置介绍

MATLAB_simulink中的示波器scope设置介绍示波器是一种测量仪器,用于显示和记录不同信号的电压随时间的变化情况。
在MATLAB Simulink中,示波器模块允许用户通过添加和配置Scope块来可视化模型中的信号。
以下是Scope模块的设置介绍。
1.打开示波器:在Simulink模型中找到要显示波形的信号的输出端口。
右键单击输出端口,并选择“Add to Scope”选项。
这将在模型中添加一个Scope块,并连接到所选信号的输出端口。
2.设置示波器参数:打开Scope模块的参数对话框,可以通过右键单击模块并选择“Properties”选项或双击模块来打开。
在参数对话框中,可以设置以下参数:- Number of Inputs:设置Scope模块接收的信号数量。
可以选择单个信号或多个信号。
- Number of Outputs:设置Scope模块显示的信号数量。
可以选择单个信号或多个信号。
- Sampling mode:设置示波器的采样模式。
可以选择Auto,Discrete,或Sample-based。
Auto模式下,示波器将根据模型的解算器设置自动选择采样模式。
- Time Span:设置示波器显示的时间跨度。
可以选择自动或手动模式。
在手动模式下,可以手动设置时间间隔。
- Buffer Length:设置示波器的缓冲区长度。
可以设置为无限或指定的固定长度。
- Voltages:设置示波器的电压范围和单位。
可以选择自动或手动模式。
在手动模式下,可以手动设置电压范围和单位。
- Triggers:设置示波器的触发条件。
可以选择自动触发或手动触发。
3.自定义示波器样式:Scope模块允许用户自定义波形的样式和外观。
可以通过选择“Display”选项卡来访问自定义设置。
以下是一些可自定义的设置:- Colors:设置示波器波形的颜色。
- Styles:设置示波器波形的线条样式(如实线、虚线、点划线等)。
用MatlabSimulink画波特图Bode图

用Matlab/Simulink画波特图Bode图在Matlab中,大多时候,我们都是用M语言,输入系统的传递函数后,用bode函数绘制bode图对系统进行频率分析,这样做,本人觉得效率远不如Simulink建模高。
如何在Matlab/Simulink中画bode图,以前也在网上查过些资料,没看到太多有用的参考。
今天做助教课的仿真,又要画电机控制中电流环的bode图,模型已经建好,step response也很容易看出来,可这bode图怎么也出不来,又不愿意用m语言写出传递函数再画。
baidu和google了好一阵,几乎没有一个帖子说的清清楚楚的,经过一番摸索,终于掌握了Simulink里画bode图的方法。
.其实,Simulink里画bode图,非常的easy,也很方便。
写此文的目的是希望对那些常用Simulink进行仿真希望画bode图又不愿用M语言的新手有所帮助。
以下均是以Matlab R2008a为例。
首先,在simulink里建好model。
如图1,这里需要注意的是,输入和输出要用input port和output port,这样以后画bode图的时候,系统就会知道是这两个变量之间的关系。
图1 建好model其次,选择线性分析。
Tools->Control Design ->Linear Analysis。
如图2。
图2 选择Linear Ansysis将出现如图3所示的Control and Estimation Tools Manager窗口。
图3 Control and Estimation Tools Manager窗口第三步,激动人心的时刻到了,哈哈。
如果你是按照前面的步骤来的,那么这时候,你就应该可以直接画出bode图,在窗口的下方,将“Plot linear analysis result in a ”前面的方框打上勾,已打的就不用管了,再在后面的下拉框里选择“bode response plot”,即画output port和input port之间的bode图,再点击“Linearize Model”按钮,就OK了。
Simulink利用Scope输出及绘制仿真波形技巧

Simulink利用Scope输出及绘制仿真波形技巧在用Simulink做仿真时,我们经常会用到示波器Scope来观察波形,它可以对波形进行局部放大、按横、纵座标放大,非常方便,但是如果我们要保存波形时,就最好别直接拷贝Scope波形了,因为它的背景是黑的,而且不能进行线形修改和标注,不适合作为文档用图。
一般的做法是将数据输出到工作空间,然后用画图指令Plot画图。
输出到工作空间的方法一般有这么几种:1.添加To Workspace模块;2.添加out模块;3.直接用Scope输出。
本人比较懒,一般不再添加其他输出模块,直接选用方法3。
当然不是说放一个Scope就能数出数据的,需要对Scope进行设置。
设置界面如下:这里最好把Limit data points to last勾掉,因为很有可能你的数据会超过5000个。
勾选Save data to Workspace,变量类型可以选结构体,结构体带时间,以及向量(后面我们会分别介绍这几种变量类型的画图方法)。
运行Simulink,输出完数据,你就可以利用Matlab的画图工具随心所欲的画图了。
下面以一个例子分别介绍三种变量类型的画图方法。
1.输出类型为向量形式。
从图上看到,输出了两维时间序列,而实际输出到工作空间的变量ScopeData为三维序列,其中第一列为时间,这正好为我们画图提供了方便。
我们可以采用画图命令如下:figure;plot(ScopeData(:,1),ScopeData(:,2),'LineWidth',1.5);hold on;plot(ScopeData(:,1),ScopeData(:,3),'r:','LineWidth',1.5);legend('正弦波','锯齿波');hold off;当然你还可以采用其他绘图方式,如采用Subplot方式。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
毕业论文答辩已经结束很长时间了,现在总结一下我在做毕业论文时的用MATLAB命令画出simulink示波器图形的一点方法,我也是MATLAB初学者,所用方法不算高明方法,并且这些方法在论坛应该都能找到,请大家见谅。
第一步,将你的示波器的输出曲线以矩阵形式映射到MATLAB的工作空间内。
如图1所示,双击示波器后选择parameters目录下的Data history,将Save data to workspace勾上,Format选择Array,Variable name即你输入至工作空间的矩阵名称,这里我取名aa。
在这之后运行一次仿真,那么你就可以在MATLAB的工作空间里看到你示波器输出曲线的矩阵aa。
如图2所示。
第二步,用plot函数画出曲线
双击曲线矩阵aa,将可以看到详细情况,我这里的aa矩阵是一个1034行,3
列的矩阵,观察这个矩阵即可以发现,这个矩阵的第一列是仿真时间,而由于我仿真时示波器内输出的是两条曲线,所以第二列和第三列即分别代表了这2条曲线。
同时大家要注意,在simulink中我们有时往往在示波器中混合输出曲线,那么就要在示波器前加一个MUX混合模块,因此示波器内曲线映射到的工作空间的矩阵是和你的MUX的输入端数有关,如果你设置了3个MUX输入端,而实际上你只使用了2个,那么曲线矩阵仍然会有4列,并且其中一列是零,而不是3列。
理解曲线矩阵的原理之后,我们就可以用plot函数画出示波器中显示的图形了。
curve=plot(aa(:,1),aa(:,2),aa(:,1),aa(:,3),'--r')
%aa(:,1)表示取aa的第一列,仿真时间
%aa(:,2)表示取aa的第二列,示波器的输入一
%aa(:,3)表示取aa的第三列,示波器的输入二
%--r表示曲线2显示的形式和颜色,这里是(red)
set(curve(1),'linewidth',3)
%设置曲线1的粗细
set(curve(2),'linewidth',3)
%设置曲线2的粗细
legend('Fuzzy','PID')
%曲线名称标注
xlabel('仿真时间(s)')
%X坐标轴名称标注
ylabel('幅值')
%Y轴坐标轴标注
title('Fuzzy Control VS PID')
%所画图的名称
grid on
%添加网格
运行上述命令后即可以看到用MATLAB命令画出的图形了,你可以在图形出来之后继续进行编辑。
[本帖最后由 mooni 于 2009-6-22 10:07 编辑] 附件
示波器.jpg(666.62 KB)
2009-6-21 22:26
曲线矩阵.jpg(870.05 KB)
2009-6-21 22:26
quxian.jpg(708.4 KB) 2009-6-21 22:26。