MATLAB_simulink中的示波器scope设置
- 格式:pdf
- 大小:1.41 MB
- 文档页数:16
相信很多同学,特别是硕士和博士同学在写期刊论文或学位论文时需要使用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按钮,点开看看呗。
利用powerlib命令寻找电阻、电感、电容等器件:
Simulink中模块的翻转:
选中模块,Formot—Flip block命令使模块水平反转,Formot—Rotate block(clockwise:顺时针旋转、counterclockwise:逆时针旋转)命令使模块作90°旋转。
Simulink中模块名的隐藏与显示:
Formot—hide name(隐藏模块名) Formot—show name(显示模块名)
Simulink中可变电阻的实现(参数可变的模块):
Slider gain实现
Simulink中子系统的创建
1、搭建一个系统平台,如图所示
2、选中平台中的要建立子系统的部分,如图所示
3、然后在Edit菜单中选Creat Subsystem命令,结果如图所示
查看子系统内部的内容,直接双击子系统图标即可。
示波器的参数设置
1、示波器输入参数的个数的设置
图a
图b
修改Number of axes的参数就可以完成示波器输入参数的个数的设置,如图 a所示。
2、示波器只显示一段时间
(设置的时间是0到0.1秒,可现实的只有0.09到0.1秒之间的波形)
解决办法:示波器参数-Data history-Limit data points to last取消勾选。
matlab simulink模型搭建方法Matlab Simulink是一个强大的多领域仿真和模型搭建环境,广泛应用于控制系统、信号处理、通信系统等多个领域。
本文将详细介绍Matlab Simulink模型搭建的方法,帮助您快速掌握这一技能。
一、Simulink基础操作1.启动Simulink:在Matlab命令窗口输入“simulink”,然后按回车键,即可启动Simulink。
2.创建新模型:在Simulink开始页面,点击“新建模型”按钮,或在菜单栏中选择“文件”→“新建”→“模型”,创建一个空白模型。
3.添加模块:在Simulink库浏览器中,找到所需的模块,将其拖拽到模型窗口中。
4.连接模块:将鼠标光标放在一个模块的输出端口上,按住鼠标左键并拖拽到另一个模块的输入端口,松开鼠标左键,完成模块间的连接。
5.参数设置:双击模型窗口中的模块,可以设置模块的参数。
6.模型仿真:在模型窗口中,点击工具栏上的“开始仿真”按钮,或选择“仿真”→“开始仿真”进行模型仿真。
二、常见模块介绍1.源模块:用于生成信号,如Step、Ramp、Sine Wave等。
2.转换模块:用于信号转换和处理,如Gain、Sum、Product、Scope 等。
3.控制模块:用于实现控制算法,如PID Controller、State-Space等。
4.建模模块:用于构建物理系统的数学模型,如Transfer Fcn、State-Space等。
5.仿真模块:用于设置仿真参数,如Stop Time、Solver Options等。
三、模型搭建实例以下以一个简单的线性系统为例,介绍Simulink模型搭建过程。
1.打开Simulink,创建一个空白模型。
2.在库浏览器中找到以下模块,并将其添加到模型窗口中:- Sine Wave(正弦波信号源)- Transfer Fcn(传递函数模块)- Scope(示波器模块)3.连接模块:- 将Sine Wave的输出端口连接到Transfer Fcn的输入端口。
Simulink利用Scope输出及绘制仿真波形技巧Simulink是一款模块化的多领域仿真环境,广泛应用于系统建模、仿真和控制系统设计等领域。
在Simulink中使用Scope模块可以方便地输出和绘制仿真波形,帮助用户进行结果分析和系统调试。
本文将介绍Simulink中利用Scope输出和绘制仿真波形的一些技巧。
一般情况下,Scope模块会自动连接到其他模块的输出端口。
如果需要手动连接,可以使用连接线将Scope与其他模块的输出端口连接起来。
可以通过双击Scope模块打开Scope配置窗口,对输出的信号进行设置。
接下来,模型配置完成后,可以点击模型的“运行”按钮开始仿真。
仿真结果将会在Scope模块中进行实时显示。
Scope模块通常会以连续波形的形式显示输出信号。
可以通过拖动Scope窗口的大小来调整显示的波形范围。
可以通过鼠标点击波形以及使用缩放和平移功能来仔细观察波形。
此外,Scope还提供了其他一些功能,可以帮助用户进一步分析和调试系统。
比如,可以通过在Scope窗口上方的工具栏中选择“Hold”功能来暂停波形的更新,方便用户仔细观察波形的细节。
可以通过在Scope窗口上方的工具栏中选择“Zoom”功能来放大或者缩小波形的显示。
可以通过在Scope窗口上方的工具栏中选择“Pan”功能来平移波形的显示。
还可以通过在Scope窗口上方的工具栏中选择“Cursor”功能来添加光标,用于具体测量波形的数值。
在一些情况下,可能需要将多个Scope模块放置在同一窗口中进行比较分析。
可以通过在Simulink模型中添加多个Scope模块,并将它们连接到不同的输出信号。
然后可以通过在Scope配置窗口中选择“窗口/Tile”来将多个Scope模块在同一窗口中平铺显示。
大家好!今天,我很荣幸能够在这里与大家分享一些关于差班提质工作的经验和思考。
差班提质,是我们学校教育工作中的一项重要任务,关系到学生的全面发展。
在此,我想就差班提质工作谈几点看法,希望能对大家有所启发。
一、明确差班提质的目标差班提质的目标是全面提升学生的综合素质,提高教育教学质量。
具体来说,我们要做到以下几点:1. 帮助学生树立正确的世界观、人生观和价值观,培养良好的道德品质。
2. 关注学生的心理健康,提高学生的心理素质。
3. 培养学生的创新精神和实践能力,提高学生的综合素质。
4. 提高教师的教学水平,打造一支高素质的教师队伍。
二、加强师资队伍建设师资队伍是差班提质工作的核心。
我们要从以下几个方面加强师资队伍建设:1. 提高教师的思想政治素质,加强师德师风建设。
2. 加强教师业务培训,提高教师的教育教学能力。
3. 鼓励教师开展教育教学研究,提升教育教学水平。
4. 完善教师考核评价体系,激发教师的工作积极性。
三、优化教育教学管理1. 优化课程设置,关注学生个性化发展。
根据学生的兴趣爱好和特长,开设丰富多彩的选修课程,满足学生多样化的学习需求。
2. 严格教学过程管理,确保教学质量。
加强课堂教学、作业批改、考试管理等环节的管理,确保教学目标的实现。
3. 创新教学方法,提高教学效果。
运用现代教育技术,开展启发式、探究式教学,激发学生的学习兴趣,提高教学效果。
4. 加强家校合作,形成教育合力。
定期召开家长会,加强家校沟通,共同关注学生的成长。
四、关注学生心理健康1. 建立健全心理健康教育体系,开展心理健康教育活动。
2. 加强心理咨询和辅导,帮助学生解决心理问题。
3. 关注学生的情感需求,营造良好的校园氛围。
4. 开展心理健康教育宣传,提高学生心理健康意识。
五、加强学生评价体系建设1. 建立多元化评价体系,关注学生的全面发展。
2. 重视学生自我评价,培养学生的自我认知能力。
3. 完善评价方法,提高评价的客观性和公正性。
MATLAB/Simulink下实现实时一些方法总结总结了使用MATLAB/Simulink进行实时仿真时实现实时的几种方法,包括使用Real-time Workshop和编写S函数的方法,同时通过实验检验了C语言S 函数实时模块的功能。
经仿真测试表明,在对时间精度要求不是很高的过程进行实时仿真和分析时,可以得到较好的效果。
标签:实时;MATLAB/Simulink;Real-time Workshop;S函数1 概述仿真技术由于能省去了实物系统实现过程中的繁琐步骤,对问题的解决有着良好的针对性,因此给科研和试验提供了很大的便利[1-3]。
但另一方面,仿真由于对模型的依赖性,其结果并很难完全反映实际情况。
因此,为了得到更接近实际情况的结果,可采用将数学模型与物理模型或实物相结合半实物仿真[1,2]。
半实物仿真系统既包含虚拟对象,又包含实物对象,因此更真实地反映实际系统的动、静态特性和非线性因素。
由于有实物的接入,半实物仿真对实时性有着较高的要求。
Matlab/Smulink在控制理论研究中是一个很优秀的仿真软件,可方便地对控制算法或控制对象进行建模和仿真实验[2-8]。
在仿真情况下,仿真运行的时间取决于仿真机的运行速度和模型的复杂程度等因素,因此Matlab/Smulink模型运行的时间可能远小于实际过程的运行时间。
但在半实物仿真中,实物对象的实际执行时间与模型仿真时间可能不一致,因此有必要使Simulink虚拟模型与外部连接的硬件运行同步,实现实时仿真,以获得接近实际情况的实验结果。
要用Matlab/Smulink进行实时仿真,可以利用自带的Real-Time Workshop和Real-Time Windows Target、xPC Target等工具,也可编写能进行实时仿真的应用程序,灵活地实现实时[4-9]。
本文将针对在Matlab/Smulink环境下的实时仿真、控制,探讨和总结一些实现实时的方法。
转贴:如何编辑和保存simulink中scope显示结果
关于scope结果的保存,论坛里的一般回答都是输出到workspace,再plot,但是plot在一张图里只可以有一个坐标系,在多变量情况下很不方便,不能实现scope中多axis的情况。
另外若直接打印scope显示的结果,图形颜色无法编辑,也不能在图上加线条或文字。
可以在打开scope情况下,在matlab中输入命令
shh = get(0,'ShowHiddenHandles');
set(0,'ShowHiddenHandles','On')
set(gcf,'menubar','figure')
set(gcf,'CloseRequestFcn','closereq')
set(gcf,'DefaultLineClipping','Off')
set(0,'ShowHiddenHandles',shh)
这样scope隐藏的编辑菜单就会出现,与plot中的菜单类似,可以方便的编辑scope中的图形,并可以将图形另存为*.fig,或者export为*.jpg,*.bmp等等。
示波器波形的处理1.示波器介绍首先介绍示波器的基本功能,对Simulink Model〔搭建的模型〕进行仿真之后,双击Scope〔示波器),会打开Scope的显示界面。
这时候Scope会显示仿真出来的波形。
以12脉波串联型二极管整流器为例,Scope显示的界面如图1所示。
图1补充:假设显示出来的波形比例不太好时,可以单击鼠标右键→Autoscale 〔或使用工具栏上望远镜〕进行调整,也可以右键→Axes properties对纵坐标范围进行修改。
单击图1左上角红圈内“Parameters”按钮,弹出属性对话框,如图2所示。
在Scope模块的General〔通用〕参数中,Number of axes为显示轴数,默认为1,如需显示两个参数的波形,将显示轴数改为2,可根据需要调整Time range里的时间范围,这个设定值代表一个屏幕内显示的最长时间。
其他设置通常不用调整。
图2如图3所示,在Scope模块的“Date history”(数据显示)参数中,如将“save date to workspace”选项栏勾上,这个示波器所观察到的曲线将会随着仿真系统的运行,被保存在Workspace〔工作区〕内,不勾选则不保存。
在“variable name”选项栏中可给变量起个名字,这里我们随便起个名字“output1”,注意:起名时遵循变量命名原则,否则会出错,此处采用英文字母和数字皆可。
“Format”为数据保存格式,也可进行修改,通常可采用系统的默认值,这里采用“Array”“Limit date points to last”的值可以设置的大一些或不勾选。
设置完成后点击“Apply” “OK”,图3注意:设置完成之后对模型再进行一次仿真,这样在MATLAB主界面中的Workspace〔在主界面中按ctrl+3可弹出Workspace界面,也可在主界面工具栏的Window中选定〕内找到我们命名的“output1”文件。
悬浮示波器在MATLABR2013a中的使用设置
当需要对多个信号进行观察和做定性分析时,利用连线将非常麻烦且凌乱,使用悬浮示波器模块可以解决以上问题。
悬浮示波器没有输入端口,如下图所示,可以显示任何选定的信号。
1、悬浮示波器的创建
方法一:Simulink---- Sink----Floating Scope,即直接从Sink模型库中选择;
方法二:点中普通的Scope模块的parameters中的floating scope选项,如下图所示;
方法三:点击普通的Scope模块中的悬浮示波器开关,如下图所示;
2、设置需要显示的信号
显示信号的选择是悬浮Scope使用的关键。
通过点击开关,打开信号选择对话框,如下图:
示波器的其他设置方法同普通示波器的设置。
当选用多通道显示时,应选中每个通道需要显示的信号。
如上图,通道Axes3显示ug3信号;如下图通道Axes1显示ug1信号;通道Axes2显示ug2信号。
3、设置信号存储缓冲区与全局变量
默认情况下,Simuink的信号都是局部变量,Simulink重复使用存储信号的缓冲区。
使用悬浮Scope时,由于信号与模块没有实际的连接,用户需要对显示信号进行正确设置。
设置如下:Simulink-------Model Configuration Parameters或Ctrl+E进入仿真参数设置窗口,选择禁用Signal Storage reuse功能。
禁用信号存储复用选项。
一、打印输出(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工作空间中数据的变量名。 (4)数据保存类型 设置被保存至MATLAB工作空间中数据的保存类型。数据的保存类型有三种:带时间变量的结构体(Structure with time)、结构体(Structure)以及数组变量(Array)。
另外,在Scope模块中的坐标系中单击鼠标右键,选择弹出菜单中的坐标系属性(axes properties),将弹出如图9.3所示的对话框。用户可以对Scope模块的坐标系标题和信号显示范围进行设置,以便于更好地分析显示信号。
9.1.2 悬浮Scope模块的使用 在进行系统仿真分析时,用户往往需要对多个信号进行观察和做定性的分析。如果将每个信号都与一个Scope模块相连接,则系统模型中就会存在多个Scope模块,使得系统模型显得凌乱、不简练,且不易对不同Scope模块中显示的信号进行比较。使用悬浮Scope模块可以解决这个问题。
与Scope模块不同,悬浮Scope模块没有输入端口,它在仿真过程中可以显示任何选定的信号,而Scope模块只能显示输入到其端口的信号。
这里以8.4节中例8.2连续的非线性系统的输出结果为例说明悬浮Scope模块的使用技术。图8.28求解Van der Pol方程的Simulink模型中Scope1是一个悬浮Scope模块。在Simulink模型中,悬浮Scope模块的创建有三种方法。第一,直接从Sink模型库中选择悬浮Scope模块;第二,点中普通的Scope模块的parameters中的floating scope选项,将普通的Scope模块设置为悬浮Scope模块;第三,点击图9.1所示的悬浮Scope开关也可将普通的Scope模块设置为悬浮Scope模块。
要使用悬浮Scope模块显示指定的信号,必须进行正确的设置 一、设置需要显示的信号 显示信号的选择是悬浮Scope使用的关键。使用悬浮Scope模块的信号选择器选择需要显示的信号。点击图9.1所示的悬浮时信号选择器即可打开信号选择器对话框,见图9.4,然后在可显示信号列表中选择需要显示的信号。
二、设置信号存储缓冲区与全局变量 默认情况下,Simulink的信号都是局部变量,Simulink重复使用存储信号的缓冲区。使用悬浮Scope模块时,由于信号和模块之间没有实际的连接,用户需要对要显示的信号进行正确设置以避免Simulink对变量的缓冲区重复使用。
关闭Simulink仿真参数对话框(Configuration Parameters)中的Optimization选项卡,选择禁用Signal storage reuse功能可以避免Simulink对变量的缓冲区重复使用。如图9.5。 对于例8.2,使用悬浮Scope模块的信号选择器选择需要显示的信号1x和2x,在进行了必要的信号存储缓冲区及全局变量设置后,重新运行,悬浮Scope模块的显示的仿真结果见图9.6。 9.2 Simulink的工作原理
尽管Simulink的初衷是为用户提供一个具有友好用户界面的系统级仿真平台,通过它的图形化仿真环境,可以为用户屏蔽掉许多繁琐的编程工作,而把主要精力放在模型的构建上,从而使用户快速完成系统的设计任务。但为了能够高效灵活地使用Simulink,必须了解Simulink的工作原理。Simulink通过系统模型(框图)与MATLAB求解器直接的交互对话完成系统仿真的,见图9.7。Simulink传递模块参数和差分(微分)方程给MATLAB求解器,而MATLAB求解器计算系统模块的输出以更新离散系统的状态并确定下一步仿真时间。
9.2.1 系统模型 简单地说,Simulink中的每个模块都是一个具有输入、输出和状态三个基本元素的系统。在Simulink中,模块都是用向量来表示这三个基本元素的,假设u、x和y分别表示输入、状态和输出向量。图9.8能够表示这三个元素的关系。其中状态向量是非常重要的概念,状态决定了模块的输出,而它的当前值是前一个时间模块的状态和(或)输入的函数。拥有状态的模块必须能够保存前面的状态值,计算当前的状态值,并且具有保存以前状态值或输入值的存储空间。Simulink的Integrator模块是有状态的模块,Integrator模块输出的是输入信号从仿真开始时刻到当前时刻的积分值,当前积分值依赖于Integrator模块的输入的历史记录,因此积分值是模块的一个状态。而Gain模块则是无状态的模块,其输出完全由当前的输入值和增益决定,因此,Gain模块没有状态。 Simulink中的状态向量可以分为连续状态、离散状态或两者的结合。无论是连续系统还是离散系统,在用计算机进行仿真时,都需要在采样时间点(即采样时间步长)估计系统的输入、输出和状态向量。在每一个采样时刻,Simulink根据当前的时间、输入和状态来决定该采样时刻的输出。
9.2.2 Simulink求解器概念 Simulink求解器在Simulink进行仿真计算的过程中起着非常重要的作用,它是Simulink进行仿真计算的核心。因此,要了解Simulink的工作原理,必须先对Simulink求解器有所了解。
一、离散求解器 离散系统一般是用差分方程描述的,其输入与输出仅在离散的采样时刻取值,系统的状态每隔固定的时间才更新一次,而Simulink对离散系统的仿真核心是对离散系统差分方程的求解。因此,Simulink可以做到对离散系统仿真的绝对精确(除了有限的数据截断误差)。
要对纯粹的离散系统进行仿真,需要使用离散求解器对其进行求解。用户需要选择Simulink仿真参数设置对话框中的求解器选项卡中的discrete(no continuous states)选项,即没有连续状态的离散求解器,便可对离散系统进行精确的求解与仿真。见8.4节 8.4.2 离散系统仿真分析算例8.3。
二、连续求解器 与离散系统不同,连续系统的输入、输出与状态都是连续的,并且输入、输出与状态的关系需要用微分方程描述。因此需要使用数字计算机对系统的微分或偏微分方程进行求解,所以只能求出其数值解(即近似解),不可能得到系统的精确解。 Simulink对连续系统进行仿真,实质上是对系统的微分或偏微分方程进行求解。对微分方程的近似求解的方法有多种,因此Simulink的连续求解器有多种不同的形式,如变步长求解器ode45、ode23、ode113,定步长求解器ode5、ode4、ode3等。采用不同的连续求解器会对连续系统的仿真结果和仿真速度产生不同的影响,但一般不会对系统的性能分析产生较多的影响,因为用户可以设置具有一定误差范围的连续求解器进行相应的控制。连续求解器设置见图9.9
需要说明的一点是,实际系统很少是纯粹连续或离散的,大部分系统是混合系统。连续变步长求解器不仅考虑了连续状态的求解,也考虑了离散状态的求解,因此连续变步长求解器比较常用。连续变步长求解器首先尝试使用最大步长(仿真起始时采用初始步长)进行求解,如果在这个仿真区间内有离散状态更新,步长便减到与离散状态的更新相吻合。
9.2.3 仿真过程 Simulink的仿真过程包括两个阶段:初始化和模型计算。