MATLAB中调用simulink并绘制bode图技巧
- 格式:doc
- 大小:25.50 KB
- 文档页数:1
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仿真图在做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个。
simulink技巧Simulink 是一种用于建立、模拟和分析动态系统的图形化环境,它是 MATLAB 软件的一部分。
Simulink 提供了一个可视化的方式来设计、建模和仿真复杂的系统,它使用模块化的组件和连线来表示系统的不同部分,并提供了丰富的工具和函数库来进行各种分析和优化。
在这篇文章中,我将向您介绍一些 Simulink 的技巧,帮助您更好地使用这个强大的工具。
1. 知晓 Simulink 中的常用快捷键:使用快捷键可以大大提高工作效率。
以下是一些常用的快捷键:- Ctrl + N:创建一个新模型。
- Ctrl + S:保存当前模型。
- Ctrl + E:打开 Simulink 模型浏览器。
- Ctrl + D:对选定的区块进行复制。
- Ctrl + R:对选定的区块进行重命名。
2. 使用 MATLAB 脚本来自动生成 Simulink 模型:您可以使用MATLAB 脚本来自动创建和配置 Simulink 模型。
这对于大型或重复的模型非常有用。
您只需编写一个 MATLAB 脚本,该脚本会生成所需的模型及其参数。
3.使用模型引用来管理模块库:如果您有多个使用相同组件的模型,可以使用模型引用来管理这些模型。
模型引用允许您在多个模型之间共享和复用模块,当您更新模块时,所有使用该模块的模型都将自动更新。
4. 使用控制器区块来简化系统的控制:Simulink 提供了许多预定义的控制器模块,如 PID 控制器、状态反馈控制器等。
使用这些控制器模块可以简化系统的控制逻辑,并缩短开发时间。
5. 使用多线程仿真以加快仿真速度:Simulink 允许您将一个模型拆分为多个子系统,并在多个 CPU 核心上并行运行这些子系统。
通过使用多线程仿真,您可以加快仿真速度,并更快地获得结果。
6.使用状态流图进行离散事件建模:如果您的系统包含离散事件,如消息传递、状态切换等,那么使用状态流图来建模可能更合适。
状态流图提供了一种清晰可见的方式来描述系统的状态和状态之间的转换。
MATLAB/Simulink与控制系统仿真实验报告姓名:喻彬彬学号:K031541725实验1、MATLAB/Simulink 仿真基础及控制系统模型的建立一、实验目的1、掌握MATLAB/Simulink 仿真的基本知识;2、熟练应用MATLAB 软件建立控制系统模型。
二、实验设备电脑一台;MATLAB 仿真软件一个三、实验内容1、熟悉MATLAB/Smulink 仿真软件。
2、一个单位负反馈二阶系统,其开环传递函数为210()3G s s s =+。
用Simulink 建立该控制系统模型,用示波器观察模型的阶跃响应曲线,并将阶跃响应曲线导入到MATLAB 的工作空间中,在命令窗口绘制该模型的阶跃响应曲线。
3、某控制系统的传递函数为()()()1()Y s G s X s G s =+,其中250()23s G s s s+=+。
用Simulink 建立该控制系统模型,用示波器观察模型的阶跃响应曲线,并将阶跃响应曲线导入到MATLAB 的工作空间中,在命令窗口绘制该模型的阶跃响应曲线。
4、一闭环系统结构如图所示,其中系统前向通道的传递函数为320.520()0.11220s G s s s s s+=+++,而且前向通道有一个[-0.2,0.5]的限幅环节,图中用N 表示,反馈通道的增益为1.5,系统为负反馈,阶跃输入经1.5倍的增益作用到系统。
用Simulink 建立该控制系统模型,用示波器观察模型的阶跃响应曲线,并将阶跃响应曲线导入到MATLAB 的工作空间中,在命令窗口绘制该模型的阶跃响应曲线。
四、实验报告要求实验报告撰写应包括实验名称、实验内容、实验要求、实验步骤、实验结果及分析和实验体会。
五、实验思考题总结仿真模型构建及调试过程中的心得体会。
题1、(1)利用Simulink的Library窗口中的【File】→【New】,打开一个新的模型窗口。
(2)分别从信号源库(Sourse)、输出方式库(Sink)、数学运算库(Math)、连续系统库(Continuous)中,用鼠标把阶跃信号发生器(Step)、示波器(Scope)、传递函数(Transfern Fcn)和相加器(Sum)4个标准功能模块选中,并将其拖至模型窗口。
实验一 典型环节的MATLAB 仿真 一、实验目的1.熟悉MATLAB 桌面和命令窗口,初步了解SIMULINK 功能模块的使用方法。
2.通过观察典型环节在单位阶跃信号作用下的动态特性,加深对各典型环节响应曲线的理解。
3.定性了解各参数变化对典型环节动态特性的影响。
二、实验内容① 比例环节1)(1=s G 和2)(1=s G ;Simulink 图形实现:示波器显示结果:② 惯性环节11)(1+=s s G 和15.01)(2+=s s GSimulink 图形实现:示波器显示结果:③ 积分环节s s G 1)(1Simulink 图形实现:示波器显示结果:④ 微分环节s s G )(1Simulink 图形实现:波器显示结果:⑤ 比例+微分环节(PD )2)(1+=s s G 和1)(2+=s s G1)、G1(s )=s+2Simulink 图形实现:示波器显示结果:2)、G2(s)=s+1 Simulink图形实现:示波器显示结果:⑥ 比例+积分环节(PI )s s G 11)(1+=和s s G 211)(2+=1)、G1(1)=1+1/sSimulink 图形实现:示波器显示结果:2)G2(s)=1+1/2s Simulink图形实现:示波器显示结果:三、心得体会通过这次实验我学到了很多,对课本内容加深了理解,熟悉MATLAB桌面和命令窗口,初步了解SIMULINK功能模块的使用方法,加深对各典型环节响应曲线的理解,这为对课程的学习打下了一定基础。
实验二线性系统时域响应分析一、实验目的1.熟练掌握step( )函数和impulse( )函数的使用方法,研究线性系统在单位阶跃、单位脉冲及单位斜坡函数作用下的响应。
2.通过响应曲线观测特征参量ζ和nω对二阶系统性能的影响。
3.熟练掌握系统的稳定性的判断方法。
二、实验内容1.观察函数step( )的调用格式,假设系统的传递函数模型为243237()4641s s G s s s s s ++=++++绘制出系统的阶跃响应曲线?2.对典型二阶系统222()2n n n G s s s ωζωω=++1)分别绘出2(/)n rad s ω=,ζ分别取0,0.25,0.5,1.0和2.0时的单位阶跃响应曲线,分析参数ζ对系统的影响,并计算ζ=0.25时的时域性能指标,,,,p r p s ss t t t e σ。
实验一:MATLAB基本操作一、实验目的1、学习掌握MA TLAB语言的基本操作方法2、掌握命令窗口的使用3、熟悉MA TLAB的数据表示、基本运算和程序控制语句4、熟悉MA TLAB程序设计的基本方法二、实验内容和要求2.b.帮助命令的使用,查找SQRT函数的使用方法按Start-help-search,输入sqrtc.矩阵运算(1)已知A=[1 2;3 4];B=[5 5;7 8];求A^2*B输入A=[1 2;3 4];B=[5 5;7 8];A^2*B结果为:ans =105 115229 251(2)矩阵除法已知A=[1 2 3 ;4 5 6;7 8 9];B=[1 0 0;0 2 0;0 0 3];求A/B,A\BA/B=1.0000 1.0000 1.00004.0000 2.5000 2.00007.0000 4.0000 3.0000A\B=1.0e+016 *0.3152 -1.2609 0.9457-0.6304 2.5218 -1.89130.3152 -1.2609 0.9457(3)矩阵的转置及共轭转置已知A=[15+i,2-i,1;6*i,4,9-i];求A.',A'A=15.0000 + 1.0000i 2.0000 - 1.0000i 1.00000 + 6.0000i 4.0000 9.0000 - 1.0000iA.'=15.0000 + 1.0000i 0 + 6.0000i2.0000 - 1.0000i 4.00001.0000 9.0000 - 1.0000iA'=15.0000 - 1.0000i 0 - 6.0000i2.0000 + 1.0000i 4.00001.0000 9.0000 + 1.0000i(4)使用冒号选出指定元素已知A=[1 2 3;4 5 6;7 8 9];求A中第三列前两个元素;A中所有第二行的元素A =1 2 34 5 67 8 9求A中第三列前两个元素:A([1,2],3)ans =36求A中所有第二行的元素:A(2,1:1:end)ans =4 5 6(5)方括号[]用magic函数生成一个4阶魔方矩阵,删除该矩阵的第四列magic(4)ans =16 2 3 135 11 10 89 7 6 124 14 15 1a=ans;a(:,[1,2,3])ans =16 2 35 11 109 7 64 14 153..多项式(1)求多项式p(X)=x^3-2x-4的根(2)已知A=[1.2 3 5 0.9;5 1.7 5 6;3 9 0 1;1 2 3 4]求矩阵A的特征多项式;求矩阵多项式中未知数为20时的值;把矩阵A作为未知数代入到多项式中;(1)a=[1,0,-2,-4]x=roots(a)x =2.0000-1.0000 + 1.0000i-1.0000 - 1.0000i(2)求特征多项式系数:A=[1.2 3 5 0.9;5 1.7 5 6;3 9 0 1;1 2 3 4]p=poly(A)p =1.0000 -6.9000 -77.2600 -86.1300 604.5500求矩阵多项式中未知数为20时的值:c=polyval(p,20)c =7.2778e+004把矩阵A作为未知数代入到多项式中:c=polyval(p,A)c =1.0e+003 *0.3801 -0.4545 -1.9951 0.4601-1.9951 0.2093 -1.9951 -2.8880-0.4545 -4.8978 0.6046 0.43530.4353 0.0840 -0.4545 -1.16174、基本程序设计(1)编写命令文件:计算1+2+3+……+n<2000;n=0;s=0;while s<2000n=n+1;s=s+n;endn=n-1n =62(2)编写函数文件:分别用for和while循环结构编写程序,求2的0到n次幂的和。
matlab 将simulink中的数据动态存入工作区的方法在MATLAB中,Simulink是一种常用的仿真工具,可以用于建立各种动态系统的模型。
在使用Simulink进行仿真时,我们经常需要将仿真结果数据动态地存入工作区,以便后续的分析和处理。
本文将介绍如何将Simulink中的数据动态存入工作区的方法。
首先,我们需要在Simulink模型中添加一个输出模块。
输出模块可以将模型的输出信号发送到指定的目标,例如工作区、图形窗口或文件等。
在Simulink模型编辑器中,可以通过以下步骤添加一个输出模块:1. 打开Simulink模型编辑器,并加载您的模型。
2. 在模型编辑器的工具栏上选择“Library Browser”选项卡,以打开Simulink库浏览器。
3. 在库浏览器中,找到“Sinks”类别,并将其展开。
4. 选择您需要的输出模块类型,例如“To Workspace”、“To Figure”或“To File”等。
5. 将所选的输出模块拖放到Simulink模型中的适当位置。
6. 双击输出模块以打开其属性对话框,并进行必要的配置。
一旦您已经添加了一个输出模块到Simulink模型中,您可以使用以下方法将仿真结果数据动态存入工作区:1. 打开Simulink模型的仿真设置对话框。
可以通过单击模型编辑器工具栏上的“Run”按钮或按下“Ctrl+R”快捷键来打开仿真设置对话框。
2. 在仿真设置对话框中,选择“Data Import/Export”选项卡。
3. 在“Data Import/Export”选项卡中,选择“Output”选项组下的“Enabled”复选框,以启用输出数据的导入/导出功能。
4. 在“Output data format”下拉菜单中,选择您希望将数据存储到的工作区变量格式。
常见的选项包括“Array”、“Structure”和“Cell Array”等。
5. 在“Variable name pattern”文本框中,输入您希望为工作区变量指定的名称模式。
Matlab中Bode图的绘制技巧
用simulink提供的linmod()或者linmod2()两个函数,从连续系统中提取线性模型,两个函数命令执行后都可以得到一个[a,b,c,d]表达的状态空间模型。
利用bode(sys)或者bode(a,b,c,d)函数绘制系统的对数幅频和相频特性曲线。
1) 修正原来的simulink模型,使其输入用inport表示,输出用outport表示。
这些端口在6.1版中分别位于sources和sinks组。
2)编写m文件内容为:
[A,B,C,D]=linmod(‘untitled1’) % untitled1’为系统的动态模型或simulink文件名。
[num,den]=ss2tf(A,B,C,D); %转换成传递函数模型
printsys(num,den,’s’); %显示系统的传递函数模型
sys=ss(A,B,C,D);
bode(sys); %即可绘制系统的开环系统bode图
bode(A,B,C,D); %也可以采用此语句代替上面紫色语句
3)、直接在命令窗执行m文件。