MATLAB SIMULINK 编程

MATLAB SIMULINK 编程
MATLAB SIMULINK 编程

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命令画出的图形了,你可以在图形出来之后继续进行编辑。

MATLAB编程与SIMULINK仿真简介

348 数字信号处理 MATLAB编程与SIMULINK仿真简介 A.1 MATLAB编程基础 MATLAB6.5提供了丰富的编程语句结构和实用函数,MATLAB产品组是支持你从概念设计、算法开发、建模仿真到实时实现的理想的集成环境。无论是进行科学研究还是产品开发,MATLAB产品族都是必不可少的工具。这里介绍一些常用的编程技巧和方法,以便同学们能尽快地启动起来,更好地应用MATLAB。 1. MATLAB文件的编写与调试环境 M文件的编写与调试在MATLAB Editor/Debugger下进行(图B1-1),这个集成环境可以方便地进行新建、修改、存储,选择Debug菜单中的Run命令就可以运行程序,运行结果显示在MATLAB Command Window 中。程序的调试应用Debug菜单就可以进行调试,其他高级语言中的Set/Clear Breakpoint、Single Step、Stop if error等选项都有,可以方便的调试程序。 图B1-1 M文件的编写与调试窗口 在MATLAB Editror/Debugger下按照MATLAB编程的规则键入相关的语句并存盘,就可以得到一个后缀为.m的文本文件。

2. MATLAB脚本文件和函数文件 在MATLAB中,无论是问题的提出还是结果的表达都采用你习惯的数学描述方法,而不需要用传统的编程语言进行处理。应用MATLAB编写出来的程序可以是M脚本文件(Script 。file),也可以是M函数文件(Function file),这些文件都由纯ASCII字符构成,其后缀m MATLAB下 M脚本文件是一串按用户意图排列而成的(包括控制流向指令在内)MATLAB 指令集合,可以直接执行,用户只需在Command Window中MATLAB提示符>>后键入文件名即可执行。脚本文件运行后所产生的所有变量都驻留在MATLAB的基本工作空间(Base workspace)中,只要用户不加以清除且MATLAB指令窗不关闭,则这些变量将一直保存在基本工作空间。与脚本文件不同,函数文件犹如一个“黑箱”,从外界只看到传给它的输入量和送出来的计算结果,内部运作是看不见的,并且函数文件的第一行总是以“function”引导的“函数申明行”。M函数文件必须由其它的语句来调用,在一般情况下用户不能单独键入其文件名来运行一个M函数。 MATLAB下的大多数的应用程序由M函数文件形式给出,例如求取系统特征方程的根的root ()函数和绘制零极点图的pzmap ()函数等。除了M函数文件之外,MATLAB还提供了大量的底层函数(内部),这类文件是不可读的,与M函数一起统称为函数。 3. M文件的一般结构 从结构上看脚本文件只是比函数文件少一个“函数申明行”,所以脚本文件和函数文件除第一行不同外,其余的结构都是一样的。 典型M函数文件的基本结构可由以下几部分构成: (1)函数申明行(Function declaration line),位于函数文件的首行,以MATLAB 关键字function 开头,函数名以及函数的输入输出宗量都在这一行中定义; (2)H1行(The first help text line):紧随函数申明行之后以%开头的第一行注释行。H1行包括大写体的函数名和运用关键词简要描述的函数功能,该行供lookfor关键词查询和help在线帮助查询使用; (3)在线帮助文本(Help text)区:H1行及其之后的连续以%开头的第一行的所有注释行构成在线帮助文本; (4)编写和修改记录:标志编写及修改该M文件的作者、日期,便于档案管理; (5)函数体(Function body):该部分由实现M函数功能的MATLAB指令组成。它接收输入宗量,进行程序流程控制,得到输出宗量。从运算角度看“函数申明行”和“函数体”两部分是构成M函数文件所必不可少的。 函数文件(Function file)由function()语句引导,其基本格式为: function 返回变量名=函数名(输入变量列表) 注释说明语句段 函数体语句 在编制程序的过程中输入和返回的变量分别由nargin和nargout两个MATLAB的保留参数给出,返回变量要多于1个,应该用方括号括起来,输入变量用逗号隔开。注释语句

Matlab中的Simulink和SimMechanics做仿真

这里我们利用Matlab中的Simulink和SimMechanics做仿真,那么先来看看相关的资料。 SimMechanics ——机械系统建模和仿真 SimMechanics 扩展Simscape? 在三维机械系统建模的能力。用户可以不进行方程编程,而是借助该多刚体仿真工具搭建模型,这个模型可以由刚体、铰链、约束以及外力组成。自动化3-D动画生成工具可做到仿真的可视化。用户也可通过从CAD系统中直接导入模型的质量、惯量、约束以及三维几何结构。Real-Time Workshop可以对SimMchanics模型进行自动化C代码生成,并在硬件在回路仿真过程中可以使用生成的代码而不是硬件原型测试嵌入式控制器。 SimMechanics可以用于开发悬架、机器手臂、外科医疗设备、起落架和大量的其它机械系统。用户也可以在SimMechanics环境下集成其它的MathWorks物理建模工具,这样做可以实现更加复杂跨领域的物理建模。 特点: ?提供了三维刚体机械系统的建模环境 ?包含了一系列分析机械运动和设计机械元件尺寸的仿真技术 ?三维刚体可视化仿真 ?SimMechanics Link utility,提供Pro/ENGINEER 和SolidWorks CAD平台的接口并且也提供了API函数和其它CAD平台的接口

?能够把模型转化为C代码(使用Real-Time Workshop) ?由于集成在Simulink环境中,因此可以建立高精度、非线性的模型以支持控制系统的开发和测试。 强大功能: 搭建机械系统模型 使用SimMechanics用户仅需要收集物理系统信息即可建立三维机械系统模型。使用刚体、坐标系、铰链和作用力元素定义和其它Simulink模型直接相连的部分。这个过程可以重用Simulink模型以及扩展了SimMechanics工具的能力。用户还可把Simulink模型和SimMechnics模型集成为一个模块,并可封装成可在其它模型中复用的子系统。 机械系统建模仿真和分析 SimMechanics包含如下子系统: ?使用Simulink查表模块和SimMechanics传感器和作动器定义的非线性的弹性单元 ?用来定义航空器件压力分布的空气动力学拖曳模块,例如副翼和方向舵 ?车辆悬架系统,例如防侧翻机械装置和控制器 ?轮胎模型

matlabsimulink初级教程

S i m u l i n k仿真环境基础学习Simulink是面向框图的仿真软件。 7.1演示一个Simulink的简单程序 【例7.1】创建一个正弦信号的仿真模型。 步骤如下: (1)在MATLAB的命令窗口运行simulink命令,或单击工具栏中的图标,就可以打开Simulink模块库浏览器(SimulinkLibraryBrowser)窗口,如图7.1所示。

图7.1Simulink界面 (2)单击工具栏上的图标或选择菜单“File”——“New”——“Model”,新建一个名为“untitled”的空白模型窗口。 (3)在上图的右侧子模块窗口中,单击“Source”子模块库前的“+”(或双击Source),或者直接在左侧模块和工具箱栏单击Simulink下的Source子模块库,便可看到各种输入源模块。 (4)用鼠标单击所需要的输入信号源模块“SineWave”(正弦信号),将其拖放到的空白模型窗口“untitled”,则“SineWave”模块就被添加到untitled窗口;也可以用鼠标选中“SineWave”模块,单击鼠标右键,在快捷菜单中选择“addto'untitled'”命令,就可以将“SineWave”模块添加到untitled窗口,如图7.2所示。

(5) Scope ”模块(示波器)拖放到“untitled ”窗口中。 (6)在“untitled ”窗口中,用鼠标指向“SineWave ”右侧的输出端,当光标变为十字符时,按住鼠标拖向“Scope ”模块的输入端,松开鼠标按键,就完成了两个模块间的信号线连接,一个简单模型已经建成。如图7.3所示。 (7)开始仿真,单击“untitled ”模型窗口中“开始仿真”图标 ,或者选择菜单“Simulink ”——“Start ”,则仿真开始。双击“Scope ” 模块出现示波器显示屏,可以看到黄色的正弦波形。如图7.4所示。 图7.2Simulink 界面

matlab-simulink 初级教程

Simulink仿真环境基础学习 Simulink是面向框图的仿真软件。 7.1演示一个Simulink的简单程序 【例7.1】创建一个正弦信号的仿真模型。 步骤如下: (1) 在MATLAB的命令窗口运行simulink命令,或单击工具栏中的图标,就可以打开Simulink模块库浏览器(Simulink Library Browser) 窗口,如图7.1所示。

(2) 单击工具栏上的图标或选择菜单“File ”——“New ”——“Model ”,新建一个名为“untitled ”的空白模型窗口。 (3) 在上图的右侧子模块窗口中,单击“Source ”子模块库前的“+”(或双击Source),或者直接在左侧模块和工具箱栏单击Simulink 下的Source 子模块库,便可看到各种输入源模块。 (4) 用鼠标单击所需要的输入信号源模块“Sine Wave ”(正弦信号),将其拖放到的空白模型窗口“untitled ”,则“Sine Wave ”模块就被添加到untitled 窗口;也可以用鼠标选中“Sine Wave ”模块,单击鼠标右键,在快捷菜单中选择“add to 'untitled'”命令,就可以将“Sine Wave ”模块添加到untitled 窗口,如图7.2所示。 图7.1 Simulink 界面

(5) 用同样的方法打开接收模块库“Sinks”,选择其中的“Scope”模块(示波器)拖放到“untitled”窗口中。 (6) 在“untitled”窗口中,用鼠标指向“Sine Wave”右侧的输出端,当光标变为十字符时,按住鼠标拖向“Scope”模块的输入端,松开鼠标按键,就完成了两个模块间的信号线连接,一个简单模型已经建成。如图7.3所示。 (7) 开始仿真,单击“untitled ”模型窗口中“开始仿真”图标,或者选择菜单“Simulink”——“Start”,则仿真开始。双击“Scope”模块出现示波器显示屏, 可以看到黄色的正弦波形。如图7.4所示。 图7.2 Simulink界面

Matlab与Simulink系统仿真学习心得PDF.pdf

Matlab与Simulink系统仿真学习心得 班级:07610 学号:072019 姓名:马楠 第一部分:Matlab学习心得以及实践 Matlab是迄今为止我所见到过的功能最为强大实用范围宽广的软件。的确Matlab适用于教学,航天,网络仿真等等。而且提供了很多功能强大的工具箱,并且最为突出的是它自带的很全面细致的帮助文档,无论你是初学者还是老手都会惊叹于此,你也不必去花很多时间去熟悉那些繁杂的命令,并且很容易通过这些帮助文档得到关于这些函数最精准的用法。 Matlab是一个建立在矩阵操作上的软件,我想要想真正懂得并理解Matlab与一般的语言比如C或者java的区别,那么你就应该真正理解矩阵的思想。而且要熟悉Matlab对矩阵存储的方式(在下文中我会详细解释与之相关的内容),这样对提高你的代码执行效率与易懂性都有很大的帮助。 但是Matlab究竟应该怎么定位呢?一个编程软件,一个数学工具,一个工具箱,一个开发引擎,一个仿真工具,一个虚拟现实软件……的确要精准的说出Matlab的作用很难,或许去定义这个东西到底是用来干什么的并不重要,It is just a tool。 关于Matlab的学习方法,我想与别的语言有很大不同,对于汇编或者C,我们应当很注重底层的一些操作,比如栈或者队列存储数据的方式,int或者double类型转换的时候产生的数据丢失,或者指针方面很头疼的一些东西,但是对于Matlab你根本不必去注重这些东西,也不必去清除的记得那个函数的具体调用方式,那个函数的内容与结构等等。你需要的只是相当用一个笔记本写下你一步一步实现目标的步骤而已。一种草稿纸式的语言。你所学的东西很大部分都是为你要做的目标来服务的,也许这就是当初面向对象式语言产生的原因,但是Matlab就是这种语言的一个代表。 好了,就说到这里了,接下来是我自己学习中对Matlab的一些应用中所遇到的问题以及思考方式和解决办法。 1 离散信号卷积: N1=input('N1=');%输入N1 N2=input('N2=');%输入N2 k1=0:(N1-1);%定义序列f1的对应序号向量 k2=0:(N2-1);% 序列f2的对应序号向量 f1=ones(1,N1);%f1为阶跃序列 f2=0.5*k2;%f2为斜坡序列 [f,k]=dconv(f1,f2,k1,k2)%求离散卷积 其中dconv函数的代码为: function [f,k]=dconv(f1,f2,k1,k2) %The function of compute f=f1*f2 % f: 卷积和序列f(k)对应的非零样值向量 % k:序列f(k)的对应序号向量 % f1: 序列f1(k)非零样值向量 % f2: 序列f2(k)的非零样值向量 % k1: 序列f1(k)的对应序号向量 % k2: 序列f2(k)的对应序号向量

Matlab Simulink 仿真步骤

MATLAB基础与应用简明教程 张明等编著 北京航空航天大学出版社(2001.01) MATLAB软件环境是美国New Mexico大学的Cleve Moler博士首创的,全名为MATrix LABoratory(矩阵实验室)。它建立在20世纪七八十年代流行的LINPACK(线性代数计算)和ESPACK(特征值计算)软件包的基础上。LINPACK和ESPACK软件包是从Fortran语言开始编写的,后来改写为C语言,改造过程中较为复杂,使用不便。MATLAB是随着Windows环境的发展而迅速发展起来的。它充分利用了Windows环境下的交互性、多任务功能语言,使得矩阵计算、数值运算变得极为简单。MATLAB语言是一种更为抽象的高级计算机语言,既有与C语言等同的一面,又更为接近人的抽象思维,便于学习和编程。同时,它具有很好的开放性,用户可以根据自己的需求,利用MATLAB 提供的基本工具,灵活地编制和开发自己的程序,开创新的应用。 本书重点介绍了MATLAB的矩阵运算、符号运算、图形功能、控制系统分析与设计、SimuLink仿真等方面的内容。 Chap1 MATLAB入门与基本运算 本章介绍MATLAB的基本概念,包括工作空间;目录、路径和文件的管理方式;帮助和例题演示功能等。重点介绍矩阵、数组和函数的运算规则、命令形式,并列举了可能得到的结果。由于MATLAB的符号工具箱是一个重要分支,其强大的运算功能在科技领域有特殊的帮助作用。 1.1 MATLAB环境与文件管理 1.2 工作空间与变量管理 1.2.1 建立数据 x1=[0.2 1.11 3]; y1=[1 2 3;4 5 6]建立一维数组x1和二维矩阵y1。分号“;”表示不显示定义的数据。 MATLAB还提供了一些简洁方式,能有规律地产生数组: xx=1:10 %xx从1到10,间隔为1 xx=-2:0.5:1 %xx从-2到1,间隔为0.5 linespace命令等距离产生数组,logspace在对数空间中等距离产生数组。对于这一类命令,只要给出数组的两端数据和维数就可以了。 xx=linespace(d1,d2,n) %表示xx从d1到d2等距离取n个点 xx=logspace(d1,d2,n) %表明xx从10d1到10d2等距离取n个点 1.2.2 who和whos命令 who: 查看工作空间中有哪些变量名 whos: 了解这些变量的具体细节 1.2.3 exist命令 查询当前的工作空间内是否存在一个变量,可以调用exist()函数来完成。 调用格式:i=exist(‘A’); 式中,A为要查询的变量名。返回的值i表示A存在的形式: i=1 表示当前工作空间内存在一个变量名为A的矩阵; i=2 表示存在一个名为A.m的文件; i=3 表示MATLAB的工作路径下存在一个名为A.mex的文件;

(完整word版)MATLABsimulink中的基本模块的参数、含义、应用..

电力线路模块 PI Section Line 单项π型线路单相传输线模块。 电阻,电感和电容的传输线,沿着线是均匀分布的。级联几个相同的PI部分是通过以下方式获得一个近似的分布参数线路模型的Three-Phase PI Section Line 三相电力线路模块实现了一个平衡的三相传输线模型参数集中在π部分。相反,沿着线的电阻,电感和电容是均匀分布的分布参数线路模型,三相PI剖面线块肿块行参数在一个单一的π部分所示,在图中只有一相下代表。 被指定为正序和零序的,要考虑到的参数之间的感性和容性耦合的三相导体,以及地面参数的参数R,L,和C线。在此方法的指定行参数假设,这三个阶段是平衡的。 使用一个单一的PI部分的模型是适当的传输线或短,在感兴趣的频率范围是有限的基频周围建模。你可以得到更准确的模型通过级联多个相同的块。见PI剖面线的最大频率范围的说明,通过PI线模型,可以实现。

频率用于R L C规范 指定行参数所用的频率,以赫兹(Hz)。这通常是标称系统频率(50赫兹或60赫兹)。 正序和零序电阻 正序和零序电阻欧姆/公里(Ω/公里)。 正序和零序电感 正序和零序电感:亨利/公里(H/公里)。 正序和零序电容 正序和零序电容法拉/公里(F /公里)。 线路段长度(KM) 该生产线部分长度在千米(公里)。 Three-Phase Transformer (Two Windings) 三相变压器(两个绕组) 使用三个单相变压器,三相变压器三相变压器两个绕组块实现了。您可以模拟饱和的核心不是简单地通过在参数菜单中设置相应的复选框块。线性变压器块和可饱和变压器块部分的单相变压器的电气模型的详细说明,请参阅。 可以以下列方式连接的两个绕组的变压器: 1)Y 2)Y与中性点 3)接地Y 4)三角洲三角洲(D1),30度的滞后Y通过 5)D11)三角洲,三角洲领先的Y通过30度 Three-Phase V-I Measurement 三相电压-电流测量

matlab仿真命令集

simulink命令集(转载) 仿真命令: sim ---仿真运行一个simulink模块 sldebug ---调试一个simulink模块 simset ---设置仿真参数 simget ---获取仿真参数 线性化和整理命令: linmod ---从连续时间系统中获取线性模型(状态方程) linmod2 ---也是获取线性模型,采用高级方法 dinmod ---从离散时间系统中获取线性模型 trim ---为一个仿真系统寻找稳定的状态参数 构建模型命令: open_system --打开已有的模型 close_system --关闭打开的模型或模块 new_system --创建一个新的空模型窗口 load_system --加载已有的模型并使模型不可见 save_system --保存一个打开的模型 add_block --添加一个新的模块 add_line --添加一条线(两个模块之间的连线) delete_block --删除一个模块 delete_line --删除一根线 find_system --查找一个模块 hilite_system --使一个模块醒目显示 replace_block --用一个新模块代替已有的模块 set_param --为模型或模块设置参数 get_param --获取模块或模型的参数 add_param --为一个模型添加用户自定义的字符串参数delete_param --从一个模型中删除一个用户自定义的参数bdclose --关闭一个simulink窗口 bdroot --根层次下的模块名字 gcb --获取当前模块的名字 gcbh --获取当前模块的句柄 gcs --获取当前系统的名字 getfullname --获取一个模块的完全路径名 slupdate --将1.x的模块升级为3.x的模块 addterms --为未连接的端口添加terminators模块 boolean --将数值数组转化为布尔值 slhelp --simulink的用户向导或者模块帮助 封装命令: hasmask --检查已有模块是否封装

MATLAB中SIMULINK常用命令表

simulink的命令集 仿真命令 sim 仿真运行一个simulink模块 sldebug 调试一个simulink模块 simset 设置仿真参数 simget 获取仿真参数 线性化和整理命令 linmod 从连续时间系统中获取线性模型 linmod2 也是获取线性模型,采用高级方法 dinmod 从离散时间系统中获取线性模型 trim 为一个仿真系统寻找稳定的状态参数 构建模型命令 open_system 打开已有的模型 close_system 关闭打开的模型或模块 new_system 创建一个新的空模型窗口 load_system 加载已有的模型并使模型不可见 save_system 保存一个打开的模型 add_block 添加一个新的模块 add_line 添加一条线(两个模块之间的连线) delete_block 删除一个模块 delete_line 删除一根线 find_system 查找一个模块 hilite_system 使一个模块醒目显示 replace_block 用一个新模块代替已有的模块 set_param 为模型或模块设置参数 get_param 获取模块或模型的参数 add_param 为一个模型添加用户自定义的字符串参数delete_param 从一个模型中删除一个用户自定义的参数bdclose 关闭一个simulink窗口 bdroot 根层次下的模块名字 gcb 获取当前模块的名字 gcbh 获取当前模块的句柄 gcs 获取当前系统的名字 getfullname 获取一个模块的完全路径名 slupdate 将1.x的模块升级为3.x的模块 addterms 为未连接的端口添加terminators模块 boolean 将数值数组转化为布尔值 slhelp simulink的用户向导或者模块帮助 封装命令 hasmask 检查已有模块是否封装 hasmaskdlg 检查已有模块是否有封装的对话框 hasmaskicon 检查已有模块是否有封装的图标 iconedit 使用ginput函数来设计模块图标 maskpopups 返回并改变封装模块的弹出菜单项

MATLAB-Simulink基础

ROBOT VISION – Matlab –Simulink 基础 §1 Simulink简介 Simulink是一个用来对动态系统进行建模、仿真和分析的软件包,它支持连续、离散及两者混合的线性和非线性系统,也支持具有多种采样频率的系统。在Simulink环境中,利用鼠标就可以在模型窗口中直观地“画”出系统模型,然后直接进行仿真。它为用户提供了方框图进行建模的图形接口,采用这种结构画模型就像你用手和纸来画一样容易。它与传统的仿真软件包微分方程和差分方程建模相比,具有更直观、方便、灵活的优点。Simulink包含有Sinks(输出方式)、Source(输入源)、Linear(线性环节)、Nonlinear(非线性环节)、Connections(连接与接口)和Extra(其他环节)等子模型库,而且每个子模型库中包含有相应的功能模块,用户也可以定制和创建自己的模块。 用Simulink创建的模型可以具有递阶结构,因此用户可以采用从上到下或从下到上的结构创建模型。用户可以从最高级开始观看模型,然后用鼠标双击其中的子系统模块,来查看其下一级的内容,以此类推,从而可以看到整个模型的细节,帮助用户理解模型的结构和各模块之间的相互关系。在定义完一个模型后,用户可以通过Simulink的菜单或MATLAB的命令窗口键入命令来对它进行仿真。菜单方式对于交互工作非常方便,而命令行方式对于运行一大类仿真非常有用。采用Scope模块和其他的画图模块,在仿真进行的同时,就可观看到仿真结果。除此之外,用户还可以在改变参数后迅速观看系统中发生的变化情况。仿真的结果还可以存放到MATLAB的工作空间里做事后处理。 模型分析工具包括线性化和平衡点分析工具、MATLAB的许多基本工具箱及MATLAB的应用工具箱。由于MATLAB和Simulink是集成在一起的,因此用户可以在这两种环境下对自己的模型进行仿真、分析和修改。 Simulink具有非常高的开放性,提倡将模型通过框图表示出来,或者将已有的模型添加组合到一起,或者将自己创建的模块添加到模型当中。Simulink具有较高的交互性,允许随意修改模块参数,并且可以直接无缝地使用MATLAB的所有分析工具。对最后得到的结果可进行分析,并能够将结果可视化显示。 Simulink非常实用,应用领域很广,可使用的领域包括航空航天、电子、力学、数学、通信、影视和控制等。世界各地的工程师都在利用它来对实际问题进行建模、分析和解决。 §2 Simulink的基本操作 2.1 Simulink的运行 运行Simulink 有三种方式: ?在MATLAB的命令窗口直接键入“Simulink”并回车; ?单击MATLAB工具条上的Simulink 图标; ?在MATLAB菜单上选File→New→Model。 运行后会显示图2.1所示的Simulink模块库浏览器,单击工具条左边建立新模型的快捷方式,则显示如图2.2所示的新建模型窗口,在模型窗口中用户便可通过选择模块库中的仿真模块,建立自己的仿真模型,并进行动态仿真。

matlab的simulink简易入门知识

Simulink的扩展模块库SimPowerSystems ——电力电子系统的建模和仿真工具 SimPowerSystems是在Simulink环境下进行电力电子系统建模和仿真先进工具。SimPowerSystems是Simulink下面的一个专用模块库,包含电气网络中常见的元器件和设备,以直观易用的图形方式对电气系统进行模型描述。模型可与其它Simulink模块的相连接,进行一体化的系统级动态分析。 一、SimPowerSystems专用模块库的特点: 1. 使用标准电气符号进行电力系统的拓扑图形建模和仿真; 2. 标准的AC和DC电机模型模块;变压器;传输线;信号和脉冲发生器;HVDC 控制;IGBT模块和大量设备模型,有断路器,二极管,IGBT,GTO,MOSFET 和晶闸管; 3. 使用Simulink强有力的变步长积分器和零点穿越检测功能,给出高度精确的 电力系统仿真计算结果 4. 为快速仿真和实时仿真提供了模型离散化方法; 5. 提供多种分析方法,可以计算电路的状态空间表达、计算电流和电压的稳态 解、设定或恢复初始电流/电压状态、电力机械的潮流计算; 6. 提供了扩展的电气系统网络设备模块,如电力机械,功率电子元件,控制测 量模块和3相元器件; 7. 提供36个功能演示模型,可直接运行仿真; 8. 提供详细的文档,完整的描述了各个模块和使用方法,还有5个详细的案 例。 二、SimPowerSystems专用模块库的强大功能: (一)SimPowerSystems中的模块

SimPowerSystems中模块的数学模型基于成熟的电磁和机电方程,用标准的电气符号表示。它们可以同标准的Simulink模块一起使用建立包含电气系统和控制回路的模型。连接通过与SimPowerSystems提供的测量模块实现。 SimPowerSystems拥有近100个模块,分别位于7个子模块库中。这些库模 块涵盖了以下应用范围: 1. 电气网络(Electrical Sources & Elements) RLC支路和负载,π型传输线,线性和饱和变压器,浪涌保护,电路分离器,互感,分布参数传输线,3相变压器(2个和3个绕组),AC和DC电压源,受 控电压源和受控电流源。 2. 电力机械(Machines) 完整或是简化形式的异步电动机,同步电动机,永磁同步电动机,直流电动机,激磁系统和水轮机涡轮机/调速系统模型。 3. 电力电子(Power Electronics) 二极管,简化/复杂晶闸管,GTO,开关,MOSFET,IGBT和通用型桥接管模 型。 4. 控制和测量模块(Measurements) 电压、电流和电抗测量,RMS测量,有功和无功功率计算,计时器,万用表,傅立叶分析,HVDC控制,总谐波失真,abc到dq0和dq0到abc轴系变换,3相V-I测量,3相脉冲和信号发生,3相序列分析,3相PLL和连续/离散同步6-, 12-脉冲发生器。 5. 三相网络元器件(Electrical Sources & Elements) 3相RLC负载和支路,3相断路器,3相,3相电抗,π型传输线,AC电压源,6-脉冲二极管和晶闸桥管,整流二极管,Y-Δ/Y-Δ/Y-Δ/Y-Y-Δ可配置3 相变压器。 (二)与Simulink和MATLAB集成在一起

MATLAB SIMULINK Integrator

MATLAB SIMULINK Integrator, Integrator Limited –积分,积分限制器 积分信号 库 连续 说明 Integrator块输出在其输入端的在当前时间步的中积分。 Integrator Limited 块是相同于Integrator块的,模块的输出被限制的限和下部饱和极限的异常。积分的详细信息,请参阅See Limiting the Integral。 下面的公式表示的模块将y作为其输入的u函数的输出和一个初始条件哟,其中y和u是当前模拟时间t的矢量函数。 Simulink软件可以根据每个在特定的应用程序中的优点,使用许多不同的数值积分方法来计算积分器块的输出。使用的配置参数对话框中的规划求解(见Solver Pane),选择最适合您的应用程序的技巧。 Simulink的Integrator块的一个状态,它的输出是一个动态的系统。Integrator的输入是时间导数的状态。 所选择的解算器,Integrator块使用当前的输入值和在先前时间步长的值的状态下,计算在当前时间步中的输出。为了支持这一计算模型,Integrator块将其输出保存在当前的时间步长并用于解算器在下一时间步长下计算其输出。块还提供求解器与模拟运行的开始计算的初始状态中使用的初始条件。初始条件的默认值是0。块的参数对话框允许你指定另一个初始条件值,或创建一个初始值输入端口。 使用参数“对话框中:

: 定义上积分的上限和下限 创建一个输入块的复位输出(state),其初始值,这取决于如何输入 创建一个可选的状态,使输出块的输出值可以触发块复位 使用Discrete-Time Integrator块来创建一个纯粹的离散系统 定义初始条件 您可以定义块对话框或从外部的信号输入它们作为参数的初始条件 要定义一个块参数的初始条件,指定Initial condition source参数为internal和输入Initial condition的值。 从外部源提供的初始条件,指定Initial condition source参数为external。额外的输入端口会出现在模块上,输入。 限制积分 为了防止输出超过可指定的水平,选择限制输出“复选框,并输入适当的参数字段的限值。此操作将导致该块作为有限的积分器。当输出达到极限,积分作用被关闭,以防止超过积分限值。在仿真过程中,你可以改变的极值,但你不能改变输出是否被限制。该块确定输出如下: 当积分输出是小于或等于Lower saturation limit,输出被保持在Lower saturation limit.。 当积分输出在Lower saturation limit和Upper saturation limit,输出是积分值。 当积分输出是大于或等于the Upper saturation limit,输出被保持在Upper saturation limit.。 要产生一个信号,表明被限制时的状态,选择“Show saturation port”复选框。一个饱和端口出现下面的块输出端口

matlab仿真(simulink)命令集

simulink命令集 仿真命令: sim ---仿真运行一个simulink模块 sldebug ---调试一个simulink模块 simset ---设置仿真参数 simget ---获取仿真参数 线性化和整理命令: linmod ---从连续时间系统中获取线性模型(状态方程) linmod2 ---也是获取线性模型,采用高级方法 dinmod ---从离散时间系统中获取线性模型 trim ---为一个仿真系统寻找稳定的状态参数 构建模型命令: open_system --打开已有的模型 close_system --关闭打开的模型或模块 new_system --创建一个新的空模型窗口 load_system --加载已有的模型并使模型不可见 save_system --保存一个打开的模型 add_block --添加一个新的模块 add_line --添加一条线(两个模块之间的连线) delete_block --删除一个模块 delete_line --删除一根线 find_system --查找一个模块 hilite_system --使一个模块醒目显示 replace_block --用一个新模块代替已有的模块 set_param --为模型或模块设置参数 get_param --获取模块或模型的参数 add_param --为一个模型添加用户自定义的字符串参数delete_param --从一个模型中删除一个用户自定义的参数bdclose --关闭一个simulink窗口 bdroot --根层次下的模块名字 gcb --获取当前模块的名字 gcbh --获取当前模块的句柄 gcs --获取当前系统的名字 getfullname --获取一个模块的完全路径名 slupdate --将1.x的模块升级为3.x的模块 addterms --为未连接的端口添加terminators模块 boolean --将数值数组转化为布尔值 slhelp --simulink的用户向导或者模块帮助 封装命令: hasmask --检查已有模块是否封装

MATLAB中SIMULINK常用命令表+常用模块简介

常用命令: 仿真命令 sim 仿真运行一个simulink模块 sldebug 调试一个simulink模块 simset 设置仿真参数 simget 获取仿真参数 线性化和整理命令 linmod 从连续时间系统中获取线性模型 linmod2 也是获取线性模型,采用高级方法 dinmod 从离散时间系统中获取线性模型 trim 为一个仿真系统寻找稳定的状态参数 构建模型命令 open_system 打开已有的模型 close_system 关闭打开的模型或模块 new_system 创建一个新的空模型窗口 load_system 加载已有的模型并使模型不可见 save_system 保存一个打开的模型 add_block 添加一个新的模块 add_line 添加一条线(两个模块之间的连线) delete_block 删除一个模块 delete_line 删除一根线 find_system 查找一个模块 hilite_system 使一个模块醒目显示 replace_block 用一个新模块代替已有的模块 set_param 为模型或模块设置参数 get_param 获取模块或模型的参数 add_param 为一个模型添加用户自定义的字符串参数delete_param 从一个模型中删除一个用户自定义的参数bdclose 关闭一个simulink窗口 bdroot 根层次下的模块名字 gcb 获取当前模块的名字 gcbh 获取当前模块的句柄 gcs 获取当前系统的名字 getfullname 获取一个模块的完全路径名 slupdate 将1.x的模块升级为3.x的模块 addterms 为未连接的端口添加terminators模块 boolean 将数值数组转化为布尔值 slhelp simulink的用户向导或者模块帮助 封装命令 hasmask 检查已有模块是否封装 hasmaskdlg 检查已有模块是否有封装的对话框 hasmaskicon 检查已有模块是否有封装的图标

试验一Matlab和Simulink中传递函数的建立

目录 实验一Matlab和Simulink中传递函数的建立 (2) 实验二Matlab和Simulink中控制系统时域分析 (15) 实验三转速反馈控制直流调速系统的仿真 (23) 实验四转速、电流反馈控制直流调速系统的仿真 (31)

实验一 Matlab 和Simulink 中传递函数的建立 一. 实验目的 1. 掌握在Matlab 中建立系统传递函数的方法。 2. 掌握在Simulink 中建立系统的传递函数及结构图的方法。 二.实验设备及仪器 计算机、Matlab 软件 三.实验内容 Matlab 是由美国Mathworks 推出的一个科技应用软件,已经发展成为一个适用于多学科多工作平台的大型软件。它涉及领域广泛,在本课程的实验中主要使用该软件的控制系统工具箱,以加深对控制理论及其应用的理解。Simulink 是该公司专门为Matlab 设计提供的结构图编程与系统仿真的专用软件工具,该仿真环境下的用户程序其外观就是系统的结构图,使得系统仿真变得简便直观。 1. Matlab 中建立系统传递函数 Matlab 启动后的用户界面如图1-1所示,工作空间窗口可以显示Matlab 中的各个变量。命令窗口可以输入各种命令,这也是输入系统传递函数的窗口。 图1-1 Matlab 启动界面 (1). Matlab 中求解微分方程 求解微分方程所用的命令为dslove(“方程1”, “方程2”,…),该函数最多可同时求解12个方程。方程中的各阶导数项以大写的D 表示,后面跟阶数,在接变量名,例如:D2y 代表22dx y d 。 例1:在Matlab 中求解下列微分方程,变量初始值为0)0(=c ,0)0(=c t d

用MATLAB命令将simulink示波器的图形画出

用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混合模块,因此示波器内曲线映射到的工作空间的矩阵是和你的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命令画出的图形了,你可以在图形出来之后继续进行编辑。

相关文档
最新文档