当前位置:文档之家› MATLAB SIMULINK Integrator

MATLAB SIMULINK Integrator

MATLAB SIMULINK  Integrator
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”复选框。一个饱和端口出现下面的块输出端口

该信号具有三个值中的一个:

1表明的上限被施加。

0表示积分并不限制。

-1表示的下限被应用。

重置状态

该块在指定的初始条件下,基于外部信号,可以复位其状态。为了使块重设其状态,选择一个External reset。一个的触发端口出现以下模块的输入端口,并指示触发类型。

选择rising到复位状态,当信号从零到一个正值,或从负上升到一个正值时复位。

选择falling到复位状态,当信号落在从正值到零或从正值变为负值时复位。

选择either状态,当复位信号的变化从零到一个非零值或有变化迹象时复位。

选择level状态复位状态,当复位信号在当前时间步长或从非零改变时为非零值,在先前时间步长到在当前时间步骤中为零。

选择hold复位状态,当复位信号是在当前时间步长为非零时复位。

关于状态端口

Integrator模块的参数对话框中选择Show state port复选框会导致额外的输出端口,状态端口,出现在Integrator 模块的顶部

除了下面的情况下的模块的标准输出端口的输出,的状态端口的输出是相同的。如果在当前时间步中该块复位状态端口的输出是有出现的值,如果该块没有被复位,该值在块的标准输出。状态端口的输出比Integrator模块的输出端口的输出出现比较早的时间步长。使用状态的端口,可以在这些模拟场景避免产生代数环:

创建自复位积分器

Integrato模块的状态端口其有输出的值时,可以考虑在创建一个积分器复位的基础上,帮助你避免代数环。例如,下面的模型。

这种模式试图创建一个自复位积分器的反馈,负反馈1,积分器的输出到积分器的复位端口。然而,该模型创建一个代数环。要计算积分器的输出,Simulink软件需要知道块的复位信号,反之亦然。由于这两个值是相互依存的,Simulink软件不能确定。因此,出现错误讯息,如果你尝试更新模型。

下面的模型使用积分器的端口,以避免代数环。

在这个版本中,该复位信号的值取决于的状态端口的值。提供的状态端口的值是在当前时间步中integrator块的输出端口的值。因此,仿真可确定该块是否需要被复位之前,计算块的输出,从而避免了代数环。

传递启用子系统之间的状态

启用的子系统,A,B,包含以下块:

在这个模型中,一个常量的输入积分的信号‘驱动两个已启用的子系统。脉冲发生器产生一个有效的信号,使在执行两个子系统之间传递。每个子系统的端口被设置为复位,这将导致子系统重置积分器时,它变得活跃。重置积分,在其初始条件端口,使积分器读值。每个子系统中的积分器的初始条件端口被连接到其他子系统中的积分器的输出端口。

这种连接的目的是使两个子系统之间的的积分信号的执行的交替变化作为输入。因此,连接创建一个代数环。A仿真需要知道B的输出,反之亦然。因为输出是相互依存的,不能计算Simulink的输出值。因此,出现错误讯息,如果你尝试更新模型。

以下版本使用相同型号的积分状态端口,以避免创建一个代数环时。

指定块输出的绝对公差为

默认情况下Simulink软件使用绝对公差值中指定的配置参数“对话框中(请参阅Specifying

Error Tolerances for Variable-Step Solvers)来计算输出的积分器块。如果这个值不能提供足够的误差控制,在Integrator块的Absolute tolerance对话框中,指定一个更合适的值。您指定的值是用来计算所有的块输出。

选择全部选项

当您选择所有选项,块图标看起来是这样的。

数据类型支持

Integrator模块的数据端口接收和输出double类型信号。外部复位端口接收double或Booln.类型的信号。

参数和对话框

External reset

当触发事件发生时,触发复位信号,,其初始条件复位。

设置

默认值:none

none

不要复位状态的初始条件。

rising

复位状态的复位信号,从零到一个正值,或从负上升到一个正值。

falling

复位时的状态的复位信号落在从正值到零或从正值变为负值。

either

复位状态,当复位信号的变化从零到一个非零值或更改。

level

复位状态,当复位信号在当前时间步长或从非零改变时为非零值,在先前时间步长到在当前时间步骤中为零。

level hold

当复位信号为非零值在当前时间步长,复位状态。

命令行信息

命令行信息请参阅Block-Specific Parameters

Initial condition source

获得初始条件的状态。

设置

默认值:internal

internal

从Initial condition参数获得初始条件的状态。

external

从块的一个外部端口获取初始条件的状态。

提示

Simulink软件不允许块的初始条件是INF或NaN。

依存关系

选择internal,启用Initial condition参数。

选择external禁用Initial condition参数。

命令行信息

命令行信息请参阅Block-Specific Parameters

Initial condition

指定初始条件的状态。

设置

默认:0

提示

Simulink软件不允许块的初始条件是INF或NaN。

依存关系

Initial condition source设置为interna,启用此参数。

Initial condition source设置为external ,禁用此参数。

命令行信息

命令行信息请参阅Block-Specific Parameters

Limit output

块的输出限制在Lower saturation limit和Upper saturation limit参数之间的一个值。设置

默认:Off

On

块的输出限制在Lower saturation limit和Upper saturation limit参数之间的一个值。

Off

块的输出不限制在Lower saturation limit和Upper saturation limit参数之间的一个值。依存关系

此参数可使用Upper saturation limit.

此参数可使用Lower saturation limit.

命令行信息

命令行信息请参阅Block-Specific Parameters

Upper saturation limit

指定的积分的上限。

设置

默认:inf

Minimum:输出Output minimum参数值

Maximum:输出Output maximum参数值

依存关系

Limit output启用此参数.

命令行信息

命令行信息请参阅Block-Specific Parameters

Lower saturation limit

指定的积分的下限

设置

默认:-inf

Minimum:输出Output minimum参数值

Maximum:输出Output maximum参数值

依存关系

Limit output启用此参数..

命令行信息

命令行信息请参阅Block-Specific Parameters

Show saturation port

模块添加饱和输出端口。

设置

默认:Off

On

模块添加饱和输出端口

Off

模块不添加饱和输出端口Do not add a saturation output port to the block. 命令行信息

命令行信息请参阅Block-Specific Parameters

Show state port

模块添加一个输出状态端口。

设置

默认:Off

On

模块添加一个输出状态端口

Off

模块不添加一个输出状态端口

命令行信息

命令行信息请参阅Block-Specific Parameters

Absolute tolerance

指定的绝对公差计算块状态。

设置

默认:auto

您可以输入auto,-1,一个实数的标量,一个实数的向量。

如果你输入auto或-1,那么Simulink 使用absolute tolerance对话框中的配置参数(见

Solver Pane)来计算块状态。

如果你输入一个实数的标量,则该值会覆盖“absolute tolerance对话框中的配置参数差

来计算所有块的状态。

如果你输入一个实数的向量,那么矢量的维度必须符合模块的维度。这些值会覆盖absolute tolerance对话框的配置参数

命令行信息

命令行信息请参阅Block-Specific Parameters

Ignore limit and reset when linearizing

Simulink的线性化命令来处理这个导致不可复位的模块,无论块的复位和输出限制选项有无设置,都作为具有在其输出端没有任何限制,。

设置

默认:Off

On

Simulink的线性化命令来处理这个导致不可复位的模块,无论块的复位和输出限制选项有无设置,都作为具有在其输出端没有任何限制,。

Off

Simulink的线性化命令来处理这个不导致不可复位的模块,无论块的复位和输出限制选项有无设置,都作为具有在其输出端没有任何限制,。

提示

使用此复选框周围的操作点,使积分器重新设置或饱和线性化模型。

命令行信息

命令行信息请参阅Block-Specific Parameters

Enable zero-crossing detection

选择启用过零检测。有关详细信息,请参阅Zero-Crossing Detection.

设置

默认:On

On

以下事件启用过零检测,:重新设置的时间步长,上饱和状态的进入或离开和下饱

和状态的进入或离开。

Off

以下事件不启用过零检测,:重新设置的时间步长,上饱和状态的进入或离开和下

饱和状态的进入或离开。

如果您的模型作为一个整体选择此Limit output复选框和过零检测,积分器块启用过零检测。

命令行信息

命令行信息请参阅Block-Specific Parameters

State Name (e.g., 'position')

分配给每个状态下一个唯一的名称。

设置

默认:' '

如果此字段是空白的,没有名字分配。

提示

要指定一个单一的状态的一个名称,,引号之间输入名称,例如,'velocity'。

要分配到多个状态的名称,输入一个逗号分隔的列表,用括号括起来,例如,{'A','B','C'}。每个名称都必须是唯一的。

状态名称仅适用于选定的块。

必须清除的状态名称之间的状态数。

您可以指定比状态数量较少的状态名字,但你不能指定多与状态数的名称。

例如,您在一个系统中可以指定两个名字,有四个状态。第一个名称适用于前两种状态,第二个名字是最后两个状态的名字。

分配状态名称与MATLAB工作空间中的变量,输入不带引号的变量。变量可以是一个字符串,单元阵列或结构。

命令行信息

命令行信息请参阅Block-Specific Parameters

实例

下面的演示模型显示如何使用Integrator模块:

sldemo_hardstop

sldemo_suspn

sldemo_wheelspeed_absbrake

特性

另请参阅

Discrete-Time Integrator

https://www.doczj.com/doc/80345117.html,/p/1809517545

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 仿真步骤

MATLAB基础与应用简明教程 张明等编著 北京航空航天大学出版社(2001.01) MATLAB软件环境是美国New Mexico大学的Cleve Moler博士首创的,全名为MATrix LABoratory(矩阵实验室)。它建立在20世纪七八十年代流行的LINPACK(线性代数计算)和ESPACK(特征值计算)软件包的基础上。LINPACK和ESPACK软件包是从Fortran语言开始编写的,后来改写为C语言,改造过程中较为复杂,使用不便。MA TLAB是随着Windows环境的发展而迅速发展起来的。它充分利用了Windows环境下的交互性、多任务功能语言,使得矩阵计算、数值运算变得极为简单。MA TLAB语言是一种更为抽象的高级计算机语言,既有与C语言等同的一面,又更为接近人的抽象思维,便于学习和编程。同时,它具有很好的开放性,用户可以根据自己的需求,利用MA TLAB提供的基本工具,灵活地编制和开发自己的程序,开创新的应用。 本书重点介绍了MA TLAB的矩阵运算、符号运算、图形功能、控制系统分析与设计、SimuLink仿真等方面的内容。 Chap1 MATLAB入门与基本运算 本章介绍MATLAB的基本概念,包括工作空间;目录、路径和文件的管理方式;帮助和例题演示功能等。重点介绍矩阵、数组和函数的运算规则、命令形式,并列举了可能得到的结果。由于MA TLAB的符号工具箱是一个重要分支,其强大的运算功能在科技领域有特殊的帮助作用。 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的文件;

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各模块对应的中文名称及介绍

这些图片的窗口是从MA TLAB R2012b里面截图下来的,注释还不够全面。如有出入之处,敬请谅解!

Derivative :微分模块,输出为输入信号的微分。无需设置参数Integrator:积分模块,输出时输入信号的积分,可设定初始条件(比如混沌系统的仿真),通常情况下初始条件不用考虑Memory:输出来自前一个时间步的模块输入 State-Space:状态空间模块,主要应用应用于现代控制理论中多输入多输出系统的仿真,双击模块可设置的主要参数有:系数矩阵A,B,C,D以及初始条件Transfer Fcn:传递函数多项式模型,实现现行传递系统,双击可设置分子多项式和坟墓多项式的系数 Transport Delay:时间延迟模块,通过模块内部参数设定延迟时间 Variable Transport Delay:将输入延迟一可变的时间 Zero-Pole:传递函数零、极点模型,实现一个用零极点标明的传递函数,双击设置零点、极点、增益

Backlash:磁滞回环特性模块 Coulomb & Viscous Friction:库伦摩擦与黏性摩擦特性模块Dead Zone:死区特性模块 Hit Crossing:检测输入信号的零交叉点模块Quantizer:阶梯状量化处理模块Rate Limiter:变化速率限幅模块Relay:带有滞环的继电特性模块Saturation:限幅的饱和特性模块

Discrete Transfer Fcn:离散系统传递函数多项式模型,可设置分子分母多项式 Discrete Zero-Pole:离散系统传递函数零极点模型,可设置零点、极点、增益,可以设置采样时间 Discrete Filter:离散系统滤波器,可设置分子分母系数(按照z-1作升幂排列),可设置采样时间 Discrete State-Space:离散系统状态空间表达式模块,可设置参数矩阵A,B,C,D,可设置采样时间、初始条件 Discrete-Time Integrator:离散系统积分器模块,可设置采样时间、初始条件 Unit Delay:离散系统单位延迟模块,可设置采样时间,初始条件Fist-Order Hol:一阶采样保持器 Memory:存储模块 Zero-Order Hold:零阶采样保持器 Discrete Filter:实现IIR和FIR滤波器 Discrete State-Space:实现一个离散状态空间系统 Discrete-Time Integrator:离散时间积分器 Discrete Transfer Fcn :实现一个离散传递函数 Discrete Zero-Pol:实现一个用零极点来说明的离散传递函数First-Order Hold:实现一个一阶保持采样-保持系统 Unit Delay:将信号延时一个单位采样时间 Zero-Order Hold:实现具有一个采样周期的零阶保持

Matlab Simulink中异步电机模型说明文档

Description The Asynchronous Machine block operates in either generator or motor mode. The mode of operation is dictated by the sign of the mechanical torque: Mechanical System s ls

Preset model Provides a set of predetermined electrical and mechanical parameters for various asynchronous machine ratings of power (HP), phase-to-phase voltage (V), frequency (Hz), and rated speed (rpm). Select one of the preset models to load the corresponding electrical and mechanical parameters in the entries of the dialog box. Note that the preset models do not include predetermined saturation parameters. Select No if you do not want to use a preset model, or if you want to modify some of the parameters of a preset model, as described below. When you select a preset model, the electrical and mechanical parameters in the Parameters tab of the dialog box become unmodifiable (grayed out). To start from a given preset model and then modify machine parameters, you have to do the following: Select the desired preset model to initialize the parameters. 1. 2. Change the Preset model parameter value to No. This will not change the machine parameters. By doing so, you just break the connection with the particular preset model. 3. Modify the machine parameters as you wish, then click Apply. Mechanical input Allows you to select either the torque applied to the shaft or the rotor speed as the Simulink signal applied to the block's input. Select Torque Tm to specify a torque input, in N.m or in pu, and change labeling of the block's input to Tm. The machine speed is determined by the machine Inertia J (or inertia constant H for the pu machine) and by the difference between the applied mechanical torque Tm and the internal electromagnetic torque Te. The sign convention for the mechanical torque is the following: when the speed is positive, a positive torque signal indicates motor mode and a negative signal indicates generator mode. Select Speed w to specify a speed input, in rad/s or in pu, and change labeling of the block's input to w. The machine speed is imposed and the mechanical part of the model (Inertia J) is ignored. Using the speed as the mechanical input allows modeling a mechanical coupling between two machines and interfacing with SimMechanics? and SimDriveline? models. The next figure indicates how to model a stiff shaft interconnection in a motor-generator set when friction torque is ignored in machine 2. The speed output of machine 1 (motor) is connected to the speed input of machine 2 (generator), while machine 2 electromagnetic torque output Te is applied to the mechanical torque input Tm of machine 1. The Kw factor takes into account speed units of both machines (pu or rad/s) and gear box ratio w2/w1. The KT factor takes into account torque units of both machines (pu or N.m) and machine ratings. Also, as the inertia J2 is ignored in machine 2, J2 referred to machine 1 speed must be added to machine 1 inertia J1.

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简介

Simulink是MATLAB最重要的组件之一,它提供一个动态系统建模、仿真和综合分析的集成环境。在该环境中,无需大量书写程序,而只需要通过简单直观的鼠标操作,就可构造出复杂的系统。Simulink具有适应面广、结构和流程清晰及仿真精细、贴近实际、效率高、灵活等优点,并基于以上优点Simulink已被广泛应用于控制理论和数字信号处理的复杂仿真和设计。同时有大量的第三方软件和硬件可应用于或被要求应用于Simulink。 Simulink是MATLAB中的一种可视化仿真工具,是一种基于MATLAB的框图设计环境,是实现动态系统建模、仿真和分析的一个软件包,被广泛应用于线性系统、非线性系统、数字控制及数字信号处理的建模和仿真中。Simulink可以用连续采样时间、离散采样时间或两种混合的采样时间进行建模,它也支持多速率系统,也就是系统中的不同部分具有不同的采样速率。为了创建动态系统模型,Simulink提供了一个建立模型方块图的图形用户接口(GUI) ,这个创建过程只需单击和拖动鼠标操作就能完成,它提供了一种更快捷、直接明了的方式,而且用户可以立即看到系统的仿真结果。 Simulink;是用于动态系统和嵌入式系统的多领域仿真和基于模型的设计工具。对各种时变系统,包括通讯、控制、信号处理、视频处理和图像处理系统,Simulink提供了交互式图形化环境和可定制模块库来对其进行设计、仿真、执行和测试。. 构架在Simulink基础之上的其他产品扩展了Simulink多领域建模功能,也提供了用于设计、执行、验证和确认任务的相应工具。Simulink与MATLAB® 紧密集成,可以直接访问MATLAB大量的工具来进行算法研发、仿真的分析和可视化、批处理脚本的创建、建模环境的定制以及信号参数和测试数据的定义。 丰富的可扩充的预定义模块库 交互式的图形编辑器来组合和管理直观的模块图 以设计功能的层次性来分割模型,实现对复杂设计的管理 通过Model Explorer 导航、创建、配置、搜索模型中的任意信号、参数、属性,生成模型代码 提供API用于与其他仿真程序的连接或与手写代码集成 使用Embedded MATLAB?模块在Simulink和嵌入式系统执行中调用MATLAB算法 使用定步长或变步长运行仿真,根据仿真模式(Normal,Accelerator,Rapid Accelerator)来决定以解释性的方式运行或以编译C代码的形式来运行模型 图形化的调试器和剖析器来检查仿真结果,诊断设计的性能和异常行为 可访问MATLAB从而对结果进行分析与可视化,定制建模环境,定义信号参数和测试数据 模型分析和诊断工具来保证模型的一致性,确定模型中的错误 平面连杆机构 英文名称: planar linkage mechanism

(完整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系统仿真学习心得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中SIMULINK的模块库以及比较常用的模块 2009年04月18日星期六 13:41 SIMULINK的模块库介绍 SIMILINK模块库按功能进行分为以下8类子库: Continuous(连续模块) Discrete(离散模块) Function&Tables(函数和平台模块) Math(数学模块) Nonlinear(非线性模块) Signals&Systems(信号和系统模块) Sinks(接收器模块) Sources(输入源模块) 连续模块(Continuous)continuous.mdl Integrator:输入信号积分 Derivative:输入信号微分 State-Space:线性状态空间系统模型 Transfer-Fcn:线性传递函数模型 Zero-Pole:以零极点表示的传递函数模型 Memory:存储上一时刻的状态值 Transport Delay:输入信号延时一个固定时间再输出 Variable Transport Delay:输入信号延时一个可变时间再输出 离散模块(Discrete) discrete.mdl Discrete-time Integrator:离散时间积分器 Discrete Filter:IIR与FIR滤波器 Discrete State-Space:离散状态空间系统模型 Discrete Transfer-Fcn:离散传递函数模型 Discrete Zero-Pole:以零极点表示的离散传递函数模型 First-Order Hold:一阶采样和保持器 Zero-Order Hold:零阶采样和保持器 Unit Delay:一个采样周期的延时 函数和平台模块(Function&Tables) function.mdl Fcn:用自定义的函数(表达式)进行运算 MATLAB Fcn:利用matlab的现有函数进行运算 S-Function:调用自编的S函数的程序进行运算 Look-Up Table:建立输入信号的查询表(线性峰值匹配) Look-Up Table(2-D):建立两个输入信号的查询表(线性峰值匹配) 数学模块( Math ) math.mdl Sum:加减运算 Product:乘运算 Dot Product:点乘运算 Gain:比例运算 Math Function:包括指数函数、对数函数、求平方、开根号等常用数学函数

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中已有的模块

如何修改MATLAB-Simulink中已经有的模块MATLAB-Simulink中有很多模块,用起来很方便,当高级用户想要达到特 殊目的时,需要修改这些模块。下面介绍如何修改已经有的模块。 以“Simulink Library Browser ->Aerospace Blockset->Equations os Motion->6DoF”中“6DoF(Euler Angles)”模块为例,对该模块进行修改。 (1)首先单击鼠标选中需要修改的模块“6DoF(Euler Angles)”,然后点击“Ctrl+L”。画面如下图所示:

(2)右击变色的模块,选择“Open in New Tab”,现在尝试对其进行修改,会示: (3)现在根据自己的需要对模块进行修改,修改完成之后保存退出,关闭修改好的模块。 (4)如果需要修改的模块里面还有要修改的模块,同样,选中要修改的模块按“Ctrl+L”,右击变色的模块,选择“Open in New Tab”,现在尝试对其进行修改,会示:Attempt to modify a locked library. The action performed requires you to unlock this library. 点击蓝色的“unlock this library”。对此模块进行解锁,进行修改后保存退出。 (5)此时再回到自己搭建的框图页面,打开模块“6DoF(Euler Angles)”查看。

发现已经修改了,如果不满意再从头重复该过程修改。 南航张兆龙于流体楼(C12) 2014/12/2

大厦巍然屹立,是因为有坚强支柱,理想和信仰就是人生大厦支柱;航船破浪前行,是因为有指示方向罗盘,理想和信仰就是人生航船罗盘;列车奔驰千里,是因为有引导它铁轨,理想和信仰就是人生列车上铁轨

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所示的新建模型窗口,在模型窗口中用户便可通过选择模块库中的仿真模块,建立自己的仿真模型,并进行动态仿真。

相关主题
文本预览
相关文档 最新文档