文档库 最新最全的文档下载
当前位置:文档库 › Simulink利用Scope输出及绘制仿真波形技巧

Simulink利用Scope输出及绘制仿真波形技巧

Simulink利用Scope输出及绘制仿真波形技巧
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方式。

2.输出类型为Structure with Time。即结构体带时间。我们可以看一下这个结构体包含哪些东西。在Command Window里直接输入变量名。

ScopeData =

time: [51x1 double]

signals: [1x1 struct]

blockName: 'untitled/Scope'

可见,该结构体包含了时间序列,信号结构体,以及我的框图名。实际上我们的输出信号都包含在signals这个结构体里了,我们接着可以再看看signals 结构体的组成部分。我们输入ScopeData.signals(这点与C语言是类似的)。

ans =

values: [51x2 double]

dimensions: 2

label: ''

title: ''

plotStyle: [0 0]

可以看到,values是一个51x2 的double型矩阵,它正好是我们输出的数据。我们采用这样的画图命令即可完成画图:

figure;

plot(ScopeData.time,ScopeData.signals.values(:,1),'LineWidth',1.5 );

hold on;

plot(ScopeData.time,ScopeData.signals.values(:,2),'r:','LineWidth ',1.5);

legend('正弦波','锯齿波');

hold off;

结果同上。

3.对于Structure类型,正好是Structure with time 的精简版,因为它的时间为空,因此你必须用其他方式获得时间,这里就不介绍了。

上述三种输出方式,1最简单,但有时候你又不得不用结构体形式画图,例如下面这种情况,这时候你就只能用2和3了,当然最好还是2。

(整理)matlab_simulink_示波器_scope_图片保存.

Matlab Figure 图形保存以及Simulink 中Scope 窗口坐标标注(label)的设置收藏 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,更改背景颜色,

Simulink仿真参数设定

simulink中的solver各选项表示的意思ZZ 2007-05-11 21:12 | (分类:默认分类) 构建好一个系统的模型之后,接下来的事情就是运行模型,得出仿真结果。运行一个仿真的完整过程分成三个步骤:设置仿真参数,启动仿真和仿真结果分析。 一、设置仿真参数和选择解法器 设置仿真参数和选择解法器,选择Simulation菜单下的Parameters命令,就会弹出一个仿真参数对话框,它主要用三个页面来管理仿真的参数。 Solver页,它允许用户设置仿真的开始和结束时间,选择解法器,说明解法器参数及选择一些输出选项。 Workspace I/O页,作用是管理模型从MATLAB工作空间的输入和对它的输出。 Diagnostics页,允许用户选择Simulink在仿真中显示的警告信息的等级。 1、Solver页 此页可以进行的设置有:选择仿真开始和结束的时间;选择解法器,并设定它的参数;选择输出项。 仿真时间:注意这里的时间概念与真实的时间并不一样,只是计算机仿真中对时间的一种表示,比如10秒的仿真时间,如果采样步长定为0.1,则需要执行100步,若把步长减小,则采样点数增加,那么实际的执行时间就会增加。一般仿真开始时间设为0,而结束时间视不同的因素而选择。总的说来,执行一次仿真要耗费的时间依赖于很多因素,包括模型的复杂程度、解法器及其步长的选择、计算机时钟的速度等等。 仿真步长模式:用户在Type后面的第一个下拉选项框中指定仿真的步长选取方式,可供选择的有Variable-step(变步长)和Fixed-step(固定步长)方式。变步长模式可以在仿真的过程中改变步长,提供误差控制和过零检测。固定步长模式在仿真过程中提供固定的步长,不提供误差控制和过零检测。用户还可以在第二个下拉选项框中选择对应模式下仿真所采用的算法。 变步长模式解法器有:ode45,ode23,ode113,ode15s,ode23s,ode23t,ode23tb和discrete。ode45:缺省值,四/五阶龙格-库塔法,适用于大多数连续或离散系统,但不适用于刚性(stiff)系统。它是单步解法器,也就是,在计算y(tn)时,它仅需要最近处理时刻的结果y(tn-1)。一般来说,面对一个仿真问题最好是首先试试ode45。 ode23:二/三阶龙格-库塔法,它在误差限要求不高和求解的问题不太难的情况下,可能会比ode45更有效。也是一个单步解法器。 ode113:是一种阶数可变的解法器,它在误差容许要求严格的情况下通常比ode45有效。ode113是一种多步解法器,也就是在计算当前时刻输出时,它需要以前多个时刻的解。 ode15s:是一种基于数字微分公式的解法器(NDFs)。也是一种多步解法器。适用于刚性系统,当用户估计要解决的问题是比较困难的,或者不能使用ode45,或者即使使用效果也不好,就可以用ode15s。 ode23s:它是一种单步解法器,专门应用于刚性系统,在弱误差允许下的效果好于ode15s。它能解决某些ode15s所不能有效解决的stiff问题。 ode23t:是梯形规则的一种自由插值实现。这种解法器适用于求解适度stiff的问题而用户又需要一个无数字振荡的解法器的情况。 ode23tb:是TR-BDF2的一种实现, TR-BDF2 是具有两个阶段的隐式龙格-库塔公式。discrtet:当Simulink检查到模型没有连续状态时使用它。 固定步长模式解法器有:ode5,ode4,ode3,ode2,ode1和discrete。 ode5:缺省值,是ode45的固定步长版本,适用于大多数连续或离散系统,不适用于刚性系统。

simulink仿真全参数设置

1.变步长(Variable—Step)求解器 可以选择的变步长求解器有:ode45,ode23,ode113,odel5s,ode23s和discret.缺省情况下,具有状态的系统用的是ode45;没有状态的系统用的是discrete. 1)ode45基于显式Runge—Kutta(4,5)公式,Dormand—Prince对.它是—个单步求解器(solver)。也就是说它在计算y(tn)时,仅仅利用前一步的计算结果y(tn-1).对于大多数问题.在第一次仿真时、可用ode45试一下. 2)ode23是基于显式Runge—Kutta(2,3).Bogackt和Shampine对.对于宽误差容限和存在轻微刚性的系统、它比ode45更有效一些.ode23也是单步求解器.3)odell3是变阶Adams-Bashforth—Moulton PECE求解器.在误差容限比较严时,它比ode45更有效.odell3是一个多步求解器,即为了计算当前的结果y(tn),不仅要知道前一步结果y(tn-1),还要知道前几步的结果y(tn-2),y(tn-3),…; 4)odel5s是基于数值微分公式(NDFs)的变阶求解器.它与后向微分公式BDFs(也叫Gear方法)有联系.但比它更有效.ode15s是一个多步求解器,如果认为一个问题是刚性的,或者在用ode45s时仿真失败或不够有效时,可以试试odel5s。odel5s是基于一到五阶的NDF公式的求解器.尽管公式的阶数越高结果越精确,但稳定性会差一些.如果模型是刚性的,并且要求有比较好的稳定性,应将最大的阶数减小到2.选择odel5s求解器时,对话框中会显示这一参数.可以用ode23求解器代替。del5s,ode23是定步长、低阶求解器. 5)ode23s是基于一个2阶改进的Rosenbrock公式.因为它是一个单步求解器,所以对于宽误差容限,它比odel5s更有效.对于一些用odel5s不是很有效的刚性问题,可以用它解决. 6)ode23t是使用“自由”内插式梯形规则来实现的.如果问题是适度刚性,而且需要没有数字阻尼的结果,可采用该求解器. 7)ode23tb是使用TR—BDF2来实现的,即基于隐式Runge—Kutta公式,其第一级是梯形规则步长和第二级是二阶反向微分公式.两级计算使用相同的迭代矩阵.与ode23s相似,对于宽误差容限,它比odtl5s更有效. 8)discrete(变步长)是simulink在检测到模型中没有连续状态时所选择的一种求解器.

MATLAB_simulink中的示波器scope设置

一、打印输出(Print)将系统仿真结果的输出信号打印出来。二、视图自动缩放(Autoscale)点击此按钮可以自动调整显示范围以匹配系统仿真输出信号的动态范围。三、X轴缩放、Y轴缩放以及视图整体缩放可以分别对X坐标轴、Y坐标轴或同时对X、Y坐标轴的信号显示进行缩放,以满足用户对信号做局部观察的需要。使用时,单击缩放按钮后选择需要观察的信号范围即可。若需要缩小视图,单击鼠标右键,选择弹出菜单的Zoom out即可。四、保存和恢复坐标轴设置使用Scope模块观察输出信号时,用户可以保存坐标轴设置。这样,当信号的视图发生改变后,单击恢复坐标轴设置可以恢复以前保存的坐标轴设置。五、Scope参数设置点击Scope 模块工具栏的参数设置按钮(Parameters),可以打开Scope模块的参数设置界面,见图9.2(a)。Scope 模块的参数设置包含两个选项卡:General和Data History。 1、General选项卡通常参数设置界面首先显示General选项卡的内容。在General选项卡中可以进行下列设置:(1)坐标系数目(Number of axes)在一个Scope模块中可以使用多个坐标系窗口同时输出多个信号。同时可使用的坐标系数目由此处设置。

默认设置下,Scope模块仅显示一个坐标系窗口。(2)悬浮Scope开关(floating scope)用来将Scope模块切换为悬浮Scope模块。悬浮Scope模块将在9.1.2中介绍。(3)显示时间范围(Time range)用来设置信号的显示时间范围。需要注意的是信号显示的时间范围和系统仿真的时间范围可以不同。坐标系所显示的时间范围并非为绝对时间,而是指相对时间范围,坐标系左下角的时间偏移(Time offset)规定时间的起始时刻。 (4)坐标系标签(Tick labels)确定Scope模块中各坐标系是否带有坐标系标签。此选项提供3种选择:全部坐标系都使用坐标系标签(all)、最下方坐标系使用标签(bottom axis only)以及都不使用标签(none)。2、Data history选项卡在Data history选项卡中可以进行下列设置:(1)信号显示点数限制(Limit data points to last)用来限制显示信号的数据点的数目,Scope模块会自动对信号进行截取,只显示信号最后n个点(n为设置的点数)。(2)保存信号至工作空间(Save data to workspace)将Scope 模块显示的信号保存至MATLAB工作空间中,以便于对信号进行更深入的定量分析。(3)数据保存变量名

MATLAB命令画出simulink示波器图形

毕业论文答辩已经结束很长时间了,现在总结一下我在做毕业论文时的用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命令画出的图形了,你可以在图形出来之后继续进行编辑。

adams和simulink联合仿真的案例分析

相信大家在联合仿真ADAMS和SIMULINK时都会遇到很多的问题:ADAMS/contro中的例子ball_beam通过联合仿真,更容易理解adams和simulink的联合仿真精髓。小球在一脉冲力的作用下沿着横梁滚动,此时梁的两端受力不平衡,梁的一段倾斜,为了使得小球不掉下横梁,在横梁上施加一个绕Z轴的力矩,横梁达到一定的角度之后逆向转动,然后小球就在这个作用力矩的控制下来回滚动而不掉下横梁!其中控制力矩在整个过程中是个动态变化的,力矩Torque_In是通过位移Position 和横梁转角Beam_Angle确定,这个是在simulink中通过框图完成的。 首先我申明一下我用的是adams2003和matlab6.5 以下我说明一下我的操作步骤: 1、把control中的ball_beam文件copy到另外一个文件夹下,同时设置adams和matlab的默认路径即为ball_beam文件夹,这样可以省略很多不必要的麻烦! 2、用aview打开ball_beam.cmd文件,先试试仿真一下,可以看到小球会在脉冲的作用下滚动,仿真时间最好大于8s 3、载入control模块,点击tools|plugin manager在control框选定。 4、点击control|plant export在file prefix下输入你的文件名,这个可以随便的,我输入的是myball,在plant input点击右键点

击guess选定tmp_MDI_PINPUT,在tmp_MDI_PINPUT中就是输入力矩Torque_In,只有一个输入参数;同样在plant output 中点击右键guess选定tmp_MDI_POUTPUT,这是模型的输出变量横梁转角Beam_Angle和小球与横梁中心轴的距离position。control package选择matlab,type是non_linear,初始化分析选择no,然后按ok!此时m文件已经生成了! 5、打开matalb,设置你的工作路径在ball_beam文件夹上,键入myball,马上有 %%% INFO : ADAMS plant actuators names : 1 Torque_In %%% INFO : ADAMS plant sensors names : 1 Beam_Angle 2 Position 出现 6、再键入adams_sys,弹出一个控制框图,这时可以新建一个mdl文件,将adams_sub拖入你新建的mdl框图中,其实再这里有一个偷懒的办法,就是在matlab中打开ball_beam.mdl文件,然后把他的那个adams_sub用你的刚产生的这个代替,然后另存为my_ball.mdl!

matlab simulink 的浮动示波器(floating scope)使用说明

浮动示波器(floating scope) 1.示波器的参数 " Number of axes" 项用于设定示波器的Y 轴数量,即示波器的输入信号端口的个数,其预设值为"1" ,也就是说该示波器可以用来观察一路信号,将其设为"2" ,则可以同时观察两路信号,并且示波器的图标也自动变为有两个输入端口,依次类推,这样一个示波器可以同时观察多路信号。 "Time range" (时间范围) ,用于设定示波器时间轴的最大值,这一般可以选自动(auto) ,这样X 轴就自动以系统仿真参数设置中的起始和终止时间作为示披器的时间显示范围。 第三项用于选择标签的贴放位置。 第四项用于选择数据取样方式,其中Decimation 方式是当右边栏设为"3" 时,则每3 个数据取一个,设为"5" 时,则是5 中取1 ,设的数字越大显示的波形就越粗糙,但是数据存储的空间可以减少。一般该项保持预置值"1" ,这样输入的数据都显示,画出的波形较光滑漂亮。如果取样方式选Sample time 采样方式,则其右栏里输入的是采样的时间间隔,这时将按采样间隔提取数据显示。该页中还有一项"Floating scope" 选择,如果在它左方的小框中点击选中,则该示波器成为浮动的示波器,即没有输入接口,但可以接收其他模块发送来的数据。 示波器设置的第二页是数据页,这里有两项选择。第一项是数据点数,预置值是

5000 ,即可以显示5000个数据,若超过5000 个数据,则删掉前面的保留后面的。也可以不选该项,这样所有数据都显示,在计算量大时对内存的要求高一些。如果选中了数据页的第二项"Save data to workspace" ,即将数据放到工作间去,则仿真的结果可以保存起来,并可以用MATLAB 的绘图命令来处理,也可以用其他绘图软件画出更漂亮的图形。 在保存数据栏下,还有两项设置,第一项是保存的数据命名(Variable name) ,这时给数据起一个名,以便将来调用时识别。第二项是选择数据的保存格式(Format) ,该处有3 种选择:Arrary格式适用于只有一个输入变量的情况;Structure with time 和Structure 这两种格式适用于以矢量表示的多个变量情况,并且前者同时保存数值和时间,后者仅保存数值。用Arrary 格式保存的变量,为了以后可以用MATLAB 命令重画,同时需要将时间也保存起来,这时可以在模型平台上调用一个Sources 模型库中的时钟模块(Clock) ,并将其连接一个示波器,用示波器的Save data to workspace 功能将时间作为一个变量同时保存起来。 2 . 图形缩放 在示波器窗口菜单上有3 个放大镜,分别可以用于图形的区域放大、X轴向和Y 轴向的图形放大。 3. 坐标轴范围 这可以在Scope 窗口的图形部分点击鼠标右键,在弹出的功能菜单中选择"axes properties…'" 项,则可以打开Y 轴范围限制的对话框。 4 浮动示波器(floating scope)

MATLAB第六章simulink仿真答案

实验四 SIMULINK 仿真实验 一、 实验目的 1. 学习SIMULINK 的实验环境使用。 2. 掌握SIMULINK 进行结构图仿真的方法。 二、 实验内容 1.控制系统结构图仿真 给定被控对象) 1(10 )(+= s s s G ,控制器111.0145.0)(++=s s s D ,按以下两种情 况设计SIMULINK 仿真结构图(给定信号是单位阶跃信号)。 (1) 无控制器时被控对象单位负反馈。 (2) 控制器与被控对象串连接成单位负反馈。 给定的仿真参数: (1) 信号源参数设置: 阶跃信号(Step )的Step time 设为0秒。 (2)仿真参数设置: 仿真时间 0~10秒,求解器选定步长(Fixed-step)的ode5,仿真步长(Fixed step size )设为0.02秒。 实验要求: (1) 在SIMULINK 中对设计的结构图进行仿真,观察输入信号,输出信号和控制信号。 (1) 记录保存两种情况下的响应波形(适当调整时间轴和纵轴坐标,使图形显示适中,同时在图中求出系统的超调和调节时间(按2%的误差带)。

123 45678910 00.20.40.60.8 1 1.2 1.4 时间 (seconds) d a t a 时序图: 0123 45678910 0.20.40.60.81 1.21.41.6 1.8时间 (seconds) d a t a 时序图:

2.动态系统微分方程仿真 在SIMULINK 中求解下列二阶微分方程代表的动态系统在阶跃信号作用下的状态响应。 给定的仿真参数: (1) 信号源参数设置:阶跃信号(Step )的Step time 设为0秒。 (2) 仿真参数设置:仿真时间 0~8秒,求解器选变步长 (Variable-step)的ode45,最大仿真步长(Max step size )设为0.01秒。 实验要求: (1) 据微分方程构造结构图。 (2) 结构图仿真。 a) 零状态仿真:x 1=0,x 2=0, b) 非零状态仿真:x 1=1,x 2=-1, c) 记录保存两种情况下的响应波形(适当调整时间轴和纵轴坐 标,使图形显示适中)。 1 22122110) (1,||210x y t u u x x x x x x ==++--==

(完整版)matlab_4_SIMULINK仿真及DEE实例步骤

SIMULINK & DEE简介 ※如何进入SIMULINK? Step1:进入MATLAB Step2: 方法一:在workspace输入simulink的指令。 方法二:点选MATLAB Command Window上方之利用以上方法会获得下面的结果

※ 如何利用SIMULINK 解ODE Example1:2311+-='x x Step1:?'=dt x x 11 ? 在Library 中点选Continuous ,在Continuous 中选取integrator ,按住鼠标左键拖曳至untitled 中,分别在各接点拉上连接线并标明各个涵义。 Step2:2311+-='x x (1)从Math 中点选Gain 的图标,拖曳至untitled 中,并选取命令列中Format/Flip Block 使其转ο180

(2)从Math中,拖曳Sum至untitled中 (3)从Source中,用鼠标拖曳Constant至untitled,并把各点连结起来。 (4)从Sink中拖曳Scope至untitled中,并与 x连结 1

(5)把Constant改为2,把Gain改为-3。 Step3:设定参数 (1)选择Simulation/Parameters (2)调整适当的起始时间、结束时间和数值方法。

(3)点选Simulation/Start ,开始仿真。 (4)点选Scope ,显示仿真的结果。 Example2:???+-='+='-)cos(212 211t x x x e x x x t 1)0(0)0(21==x x Step1:???'='=??dt x x dt x x 2211 ? (1)点选Continuous 中之Integrator ,拖曳至untitled 。

基于simulink的系统仿真实验报告(含电路、自控、数电实例)

《系统仿真实验》 实 验 报 告

目录 一《电路》仿真实例 (3) 2.1 简单电路问题 (3) 2.1.1 Simulink中仿真 (3) 2.1.2 Multisim中仿真 (4) 2.2 三相电路相关问题 (5) 二《自动控制原理》仿真实例 (7) 1.1 Matlab绘图 (7) 三《数字电路》仿真实例 (8) 3.1 555定时器验证 (8) 3.2 设计乘法器 (9) 四实验总结 (11)

一《电路》仿真实例 2.1 简单电路问题 课后题【2-11】如图所示电路,R0=R1=R3=4Ω,R2=2Ω,R4=R5=10Ω,直流电压源电压分别为10V、4V、6V,直流电流源电流大小为1A,求R5所在的支路的电流I。(Page49) 解:simulink和multisim都是功能很强大的仿真软件,下面就以这个简单的习题为例用这个两个软件分别仿真,进一步说明前者和后者的区别。 2.1.1 Simulink中仿真 注意事项:由于simulink中并没有直接提供DC current source,只有AC current source,开始的时候我只是简单的把频率调到了0以为这就是直流电流源了,但是并没有得到正确的仿真结果。后来问杨老师,

在老师的帮助下发现AC current source的窗口Help中明确的说明了交流变直流的方法:A zero frequency and a 90 degree phase specify a DC current source.然后我把相角改成90度后终于得到了正确的仿真结果,Display显示I=0.125A,与课本上答案一致。 2.1.2 Multisim中仿真

matlab-simulink示波器图形保存

路漫漫其修远兮,吾将上下而求索- 百度文库 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窗口就如下所示: 1

利用MATLAB命令窗口绘制Simulink仿真示波器波形的方法.doc.deflate

利用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')

simulink仿真实验心得体会

竭诚为您提供优质文档/双击可除simulink仿真实验心得体会 篇一:matlab与simulink仿真学习心得 matlab与simulink仿真学习心得 班级:07610学号:0720xx姓名:吕天雄 一matlab学习心得体会与编程实践 学习matlab的心得体会 真正开始接触matlab是大二上就开始了,到现在已经一年多了,在此之间,matlab的确为我提供了很多便利。matlab的确不愧成为是草稿纸上的语言。我们不必去为很简单的显示效果图形去找一些什么其他软件或者研究比较复杂的计算机图形学,一个plot或者别的函数往往就可以得到很满意的效果。 其实最初开始学习matlab的时候感觉这个东西和c没什么两样,但是后来具体到一些东西,比如信号处理和数学建模上以后才感觉到使用matlab编写程序去验证结果比c 要节省很多时间,而且matlab写东西基本都是按照自己的思路平铺直叙很少去考虑什么函数的嵌套调用或者指针等等很头疼的东西。

关于matlab的学习,我感觉其实百度和matlab自带的help基本能够解决绝大数问题,而且一些比较好的论坛比如都会为你产生很大的帮助,关键是在于多动手实践,多思考。但是matlab毕竟只是一个工具,原理和一些基本的编程素 质还是必须有的,否则matlab最多也只能是验证一些别人 的东西而已,根本帮不上什么忙的。 遇到的一些问题的思考方式与解决办法 最开始用matlab的时候是在大物实验,实验要求去根 据测量得到的数据作出图。但是手动用铅笔去画确实很麻烦,所以用matlab确实可以省去很大的麻烦。但是第一次遇到 问的时候是有关极化坐标下的曲线拟合。 首先是一个物理实验的问题;在做一个关于光的偏振的实验的时候,最后的结果要在一个极化坐标下显示出来;因为数据是离散的,所以显示出来的图像是一个折来折去的一个东东;然后很自然的想法是对这个曲线进行插值处理。 但是极化坐标下matlab并未提供插值处理的函数,interp1这个函数只能在笛卡尔坐标系,也就是直角坐标系 下使用。 然后就想到把极坐标的数据转换的直角坐标系下, pol2cart可以实现这个想法,但是随后而来,也就是最后导致整个问题失败的关键也在这里。 pol2cart以后产生的一串数据中出现了重复的数据,那

实验四-SIMULINK仿真模型的建立及仿真

实验四 SIMULINK仿真模型的建立及仿真(一) 一、实验目的: 1、熟悉SIMULINK模型文件的操作。 2、熟悉SIMULINK建模的有关库及示波器的使用。 3、熟悉Simulink仿真模型的建立。 4、掌握用不同的输入、不同的算法、不同的仿真时间的系统仿真。 二、实验内容: 1、设计SIMULINK仿真模型。 2、建立SIMULINK结构图仿真模型。 3、了解各模块参数的设定。 4、了解示波器的使用方法。 5、了解参数、算法、仿真时间的设定方法。 例7.1-1 已知质量m=1kg,阻尼b=2N.s/m。弹簧系数k=100N/m,且质量块的初始位移x(0)=0.05m,其初始速度x’(0)=0m/s,要求创建该系统的SIMULINK 模型,并进行仿真运行。 步骤: 1、打开SIMULINK模块库,在MATLAB工作界面的工具条单击SIMULINK图标,或在MATLAB指令窗口中运行simulink,就可引出如图一所示的SIMULINK模块浏览器。 图一:SIMULINK模块浏览器

2、新建模型窗,单击SIMULINK模块库浏览器工具条山的新建图标,引出如图二所示的空白模型窗。 图二:已经复制进库模块的新建模型窗 3、从模块库复制所需模块到新建模型窗,分别在模块子库中找到所需模块,然后拖进空白模型窗中,如图二。 4、新建模型窗中的模型再复制:按住Ctrl键,用鼠标“点亮并拖拉”积分模块到适当位置,便完成了积分模块的再复制。 5、模块间信号线的连接,使光标靠近模块输出口;待光标变为“单线十字叉”时,按下鼠标左键;移动十字叉,拖出一根“虚连线”;光标与另一个模块输入口靠近到一定程度,单十字变为双十字;放开鼠标左键,“虚连线”变变为带箭头的信号连线。如图三所示:

如何清晰的保存simulink仿真图及怎样在一个simulink仿真图中同时绘制

一.如何清晰的保存simulink仿真图 在做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,更改背景颜色,调整波形曲线的 线型、粗细等等:

二.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的画图工具随心所欲的画图了。 下面以一个例子分别介绍三种变量类型的画图方法。

MATLAB中用plot命令画出示波器的图形总结1

MATLAB中用plot命令画出示波器的图形总结 这两天碰到一个问题是关于用MATLAB命令把示波器图形画出,经过努力总算得到解决。 看到网上有的同行问怎么改示波器的背景,把示波器波形复制到Word 中,我有两种方法,第一种是我一个同学告诉我的,通过命令对示波器进行操作。 具体如下 shh=get(0,'ShowHiddenHandles'); set(0,'ShowHiddenHandles','On') set(gcf,'menubar','figure') set(gcf,'CloseRequestFcn','closereq') set(gcf,'DefaultLineClipping','Off') set(0,'ShowHiddenHandles',shh) 输入以上命令可以直接对示波器进行修改,包括背景和曲线颜色 第二种方法我以前总结过,现在详细说明一下 用MATLAB命令将simulink示波器的图形画出 第一步,将你的示波器的输出曲线以矩阵形式映射到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混合模块,因此示波器内曲线映射到的工作空间的矩阵是和你的

Matlab-simulink示波器图形保存

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窗口就如下所示:

matlab-SIMULINK仿真实例资料

二并联杆数控螺旋面钻头尖刃磨机的机构仿真 一、仿真原理一、实训题目:全自动洗衣机控制系统 实训目的及要求: 1、掌握欧姆龙PLC的指令,具有独立分析和设计程序的能力 2、掌握PLC梯形图的基本设计方法 3、培养分析和解决实际工程问题的能力 4、培养程序设计及调试的能力 5、熟悉传输带控制系统的原理及要求 实训设备:: 1、OMRON PLC及模拟实验装置1台 2、安装CX-P编程软件的PC机1台 3、PC机PLC通讯的RS232电缆线1根 实训内容: 1、分析工艺过程,明确控制要求 (1)按下启动按扭及水位选择开关,相应的显示灯亮,开始进水直到高(中、低)水位,关水。 (2)2秒后开始洗涤。 (3)洗涤时,正转30秒停2秒;然后反转30秒停2秒。 (4)循环5次,总共320秒,然后开始排水。排水后脱水30秒。 图1 全自动洗衣机控制 2、统计I/O点数并选择PLC型号 输入:系统启动按钮一个,系统停止按钮一个,高、中、低水位控制开关三个,高、中、低液位传感器三个,以及排水液位传感器一个。

输出:进出水显示灯一盏,高、中、低水位显示灯各一盏,电机正、反转显示灯各一盏,排水、脱水显示灯灯各一盏。 PLC的型号:输入一共有9个,考虑到留有15%~20%的余量即9×(1+15%)=10.35,取整数10,所以共需10个输入点。输出共有8个,8×(1+15%)=9.2,取整数9,所以共需9个输出点。可以选OMRON公司的CPM1A/CPM2A 型PLC就能满足此例的要求。 3、I/O分配 表1 全自动洗衣机控制I/O分配表 输入输出 地址名称地址名称 00000 启动系统按钮01000 排水显示灯 00001 高水位选择按钮01001 脱水显示灯 00002 中水位选择按钮01002 进、出水显示灯 00003 低水位选择按钮01003 高水位显示灯 00004 排水液位传感器01004 中水位显示灯 00005 停止系统按钮01005 低水位显示灯 00006 高水位液位传感器01006 电机正转显示灯 00007 中水位液位传感器01007 电机反转显示灯 00008 低水位液位传感器 4、PLC控制程序设计及分析 实现功能:当按下按钮00000,中间继电器20000得电并自锁,按下停止按钮00005,中间继电器20000掉电。中间继电器20000为系统总启动。 实现功能:当按下按钮00001,中间继电器20001得电并自锁;当中间继电器20002、20003、20004、20007任意一个为ON,或按下停止按钮00005,或01000、01001为ON时,中间继电器20001掉电。

相关文档
相关文档 最新文档