您的当前位置:首页正文

matlab_Simulink_基础

2022-07-03 来源:易榕旅网
第八章 Simulink 基础 Chapter 8: Introduction to Simulink

一. Simulink 初步(Primer of Simulink)

MATLAB Simulink是一个动态仿真系统,用于对动态系统进行仿真和分析,预先模拟实际系统的特性和响应,根据设计和使用要求,对系统进行修改和优化。

Simulink提供了图形化用户界面,只须点击鼠标就可以轻易的完成模型的创建、调试和仿真工作,用户不须专门掌握一种程序设计语言。

Simulink可将系统分为从高级到低级的几个层次,每层又可以细分为几个部分,每层系统构建完成后,将各层连接起来就可构成一个完整的系统。

模型创建完成后,可以启动系统的仿真功能分析系统的动态特性,其内置的分析工具包括各种仿真算法、系统线性化、寻求平衡点等。仿真结果可以以图形方式在示波器窗口显示,也可将输出结果以变量形式保存起来,并输入到MATLAB中以完成进一步的分析。

Simulink可以仿真线性和非线性系统,并能创建连续时间、离散时间或二者混合的系统。支持多采样频率系统。

Simulink

Version 6.0 (R14) 05-May-2004

Model analysis and construction functions. Simulation

sim - Simulate a Simulink model. sldebug - Debug a Simulink model.

simset - Define options to SIM Options structure. simget - Get SIM Options structure

Linearization and trimming.

linmod - Extract linear model from continuous-time system.

linmod2 - Extract linear model, advanced method.

dlinmod - Extract linear model from discrete-time system.

trim - Find steady-state operating point.

Model Construction.

close_system - Close open model or block.

new_system - Create new empty model window. open_system - Open existing model or block.

load_system - Load existing model without making model visible.

save_system - Save an open model. add_block - Add new block. add_line - Add new line. delete_block - Remove block. delete_line - Remove line. find_system - Search a model.

hilite_system - Hilite objects within a model.

replace_block - Replace existing blocks with a new block. set_param - Set parameter values for model or block.

get_param - Get simulation parameter values from model. add_param - Add a user-defined string parameter to a model.

delete_param - Delete a user-defined parameter from a model. bdclose - Close a Simulink window. bdroot - Root level model name.

gcb - Get the name of the current block. gcbh - Get the handle of the current block. gcs - Get the name of the current system. getfullname - get the full path name of a block slupdate - Update older 1.x models to 3.x.

addterms - Add terminators to unconnected ports. boolean - Convert numeric array to boolean. slhelp - Simulink user's guide or block help.

Masking.

hasmask - Check for mask.

hasmaskdlg - Check for mask dialog. hasmaskicon - Check for mask icon.

iconedit - Design block icons using ginput function.

maskpopups - Return and change masked block's popup menu items.

movemask - Restructure masked built-in blocks as masked subsystems.

Library.

libinfo - Get library information for a system.

Diagnostics.

sllastdiagnostic - Last diagnostic array. sllasterror - Last error array. sllastwarning - Last warning array.

sldiagnostics - Get block count and compile stats for a model.

Hardcopy and printing.

frameedit - Edit print frames for annotated model printouts. print - Print graph or Simulink system; or save graph to M-file.

printopt - Printer defaults.

orient - Set paper orientation.

simulink is both a directory and a function. Copyright 1990-2004 The MathWorks, Inc.

Simulink的三大步骤(procedure of Simulink):

1、模型创建与定义、( Model creating and definition) 2、模型的分析、(Model analyzing) 3、模型的修正。(Model modifying)

如下图所示,重复执行上述三大步骤可以实现系统的最优化。

模型构建 和定义模型的分析显 示修 正Simulink的运行:(Running of Simulink)

1、运行Simulink:命令窗口下点击Simulink图标(或在命令窗口键入Simulink命令)→Simulink Library Browser(浏览器)→simulink树状列表形式的模块库(包含simulink模块库中的各种模块及其它Toolbox和 Blockset中的模块)

2、选择建模模块:展开树状列表,用鼠标点击所需类别的模块项, 所

选模块类的具体模块库就在右侧的列表框中显示出来,提供建模使用。也可以在输入栏中键入模块名并点击Find按钮进行查询。 3、打开模型创建窗口:(open the window of mode creating)。

在工具栏中选择“建立新模型”的图标,弹出名为Untitled的空白窗口,选择Open窗口可以打开存于硬盘中已建的模型,完成模型的运行或修改。

二. Simulink 的常用基本模块(basic module)

simulink浏览器窗口左侧的simulink项上单击鼠标右键,弹出菜单“Open the ‘Simulink’Labrary’”选项,将打开simulink模块库窗口。常用的模块主要为:

1.信号源模块:source,模块及功能见(表 8—1) 2.输出模块:Sinks, 模块及功能见(表 8—2)

3. 连续系统模块: Continuous, 模块及功能见(表 8—3) 4. 离散系统模块:Discrete, 模块及功能见(表 8—4) 5. 数学运算模块:Math, 模块及功能见(表 8—5)

6.函数和表模块: Function & Tables, 模块及功能见(表 8—6) 7. 非线性系统模块:Nonlinear, 模块及功能见(表 8—7) 8. 信号与系统模块:Signal & Systems, 模块及功能见(表 8—8) 还有:

常用模块: Commonly used blocks 非连续模块: Discontinuous

逻辑运算和二进制数位模块: Logical and bit operation 插值表: Lookup tables 模式识别Model: Verification 端口及子系统: Ports and subsystems 用户自定义函数: User defined functions

辅助数学和离散系统: Additional math and discrete

表 8—1信号源模块及功能 模 块 功 能 模 块 功 能 In1 Constant SignalGeneratur Ramp SineWave Step Repeating Sequence Pulse Generator Chirp Signal

创建输入端 常数 信号发生器 斜波 正弦波 阶跃信号 重复系列 脉冲发生器 Ground Clock Digital Clock From File FromWorkspace UniformRandom Number Band-Limited WhileNoise 接地 当前时间 数字时钟 从文件读数据 从工作空间读数据 均匀随机信号 带限白噪音 Random Number 随机信号 快速正弦扫描 表 8—2输出模块及功能 模块 Scope XY Graph Out1 Display

表 8—3连续系统模块及功能 模块 Integrator Derivative Statae-Space Transfer Fcn

表 8—4离散系统模块及功能 模块 Zero-Order-Hold 功能 示波器 XY显示器 创建输出端 模块 To file To Workspace Terminator Stop Simulation 功能 输出到文件 输出到工作空间 通用终端 输入不为0时停止仿真 Floating Scope 可选示波器 实时数据显示 功能 积分 微分 状态方程 传递函数 模块 Zero-Pole Memory Transport Delay VariableTransport Delay 功能 零极点 延时输出 传输延时 可变传输延时 功能 零阶保持模块 Discrete Filter 功能 离散滤波器 器 Unit Delay 单位延时采样保持 Descrete-Time Integrator 离散时间积分 Discrete-State-Space

表 8—5数学运算模块及功能 模块 Sum Product Dot Product Gain Slider Gain Matrix Gain Math Function Trigonometric 三角函数 Function NinMax Abs Sign

表 8—6函数和表模块及功能 模块 Look-Up Table Look-Up Table Discrete Transfer Fcn Discrete Zero-pole First-Order Hold 离散传递函数 离散零极点 一阶保持器 离散状态方程 功能 求和 积或商 点积 常数增益 可变增益 矩阵增益 模块 Rounding Function Logical Operator Bitwise Logical Operator Relational Operator Complex to Magnitude-Angle 功能 取整函数 逻辑算子 位逻辑算子 关系算子 复数的模和辅角 模和辅角合成复数 复数的实部和虚部 实部和虚部合成复数 强迫输入信号为零 Combinatorial Logic 逻辑真值表 数学运算函数 Magnitude-Angle to Complex Complex to Real-Imag 求最大值 求绝对值 符号函数 Real-Imag to Complex Algebraic Constant 功能 模块 功能 C语言形式的表达式 线性插值查表 Fcn 二维线性插值 MATLAB Fcn MATLAB形式的表达式 (2-D) Look-Up Table (n-D) Prelook-Up Index Search InterPolation (n-D) Using PreLook-Up Direct Look-Up Table(n-D)

表 8—7非线性系统模块及功能 模块 Rate Limiter Saturation Quantizer Backlash Dead Zone

表 8—8信号与系统模块及功能 模块 Bus Creator Bus Selector Mux Demux Selector N维线性插值 S-Function 预查下标 N维插值 Polynomial S-Function Builder 直接查表 调用S-函数 多项式 用C代码创建S-函数 功能 饱和元件 量化元件 间隙元件 死区元件 模块 Switch Maunal Switch Multiport Switch Coulomb & Viscous Friction 功能 继电器 开关 手动开关 多选开关 库仑和粘性摩擦 速率限制器 Relay 功能 创建信号总线 模块 Data Store Memory 功能 为存储器定义内存 向存储器写数据 从信号总线中选择信号 Data Store Write 多路传输器 多路分离器 选择输入信号 Function-Call 函数调用发生器 Generator Reshape Data Type 改变信号尺寸 数据类型转换 Conversion Assignment Matrix Concatenation Merge From Goto Tag Visibility Goto Data Store Read

可选示波器(Floating scope):可将普通示波器转变为Floating scope,也可在模型库中直接选择Floating scope模块。利用Floating scope模块可选择显示一或多个线程上的信号,模块不必与模型中的信号线连接,可以在signal selection 快捷键打开的菜单中选择要显示的信号。 *Floating scope:

This option appears only on the General parameters pane for the Scope block. Selecting this option turns a Scope block into a floating scope. A floating scope is a Scope block that can display the signals carried on one or more lines. You can create a Floating Scope block in a model either by copying a Scope block from the Simulink Sinks library into a model and selecting this option or, more simply, by copying the Floating Scope block from the Sinks library into the model window. The Floating Scope block has the Floating scope parameter selected by default. To use a floating scope during a simulation, first open the scope. To display the signals carried on a line, select the line. Hold down the Shift key while clicking another line to select multiple lines. It might be necessary to click the Autoscale data button on the floating scope's toolbar to find the signal and adjust the axes to the signal values. Or you can use the floating scope's Signal Selector (see The Signal Selector in the online Simulink documentation) to select signals for

赋值 矩阵串联 信号合并 Hit Crossing IC Width 检测零交叉点 信号的初始值 信号的宽度 显示模型信息 检查信号参数 探测连线 从GOTO模块接收信号 Model Info 定义GOTO模块的范围 Signal Specification 把信号送到From模块 Probe 从存储器读数据 display. To display a floating scope's Signal Selector, first start simulation of your model with the floating scope open. Then right-click your mouse in the floating scope and select Signal Selection from the pop-up menu that appears. You can have more than one floating scope in a model, but only one set of axes in one scope can be active at a given time. Active floating scopes show the active axes by making them blue. Selecting or deselecting lines affects the active floating scope only. Other floating scopes continue to display the signals that you selected when they were active. In other words, inactive floating scopes are locked, in that their signal displays cannot change. To specify display of a signal on one of the axes of a multiaxis floating scope, click the axis. Simulink draws a blue border around the axis. Then click the signal you want to display in the block diagram or the Signal Selector. When you run the model, the selected signal appears in the selected axis. If you plan to use a floating scope during a simulation, you should disable signal storage reuse. See \"Signal storage reuse\" in Optimizations for more information

三. Simulink 建模(Simulinc module creating)

1. 模块的创建与操作(Creating and operation of Simulink) (1) 创建模块:(module creating)

(1)在浏览器列表中点击需要的模块,按住鼠标左键并拖曳至模型窗口

即可。

(2)双击模块可在弹出的对话框中修改相应的模块参数 (3)在模块下方名称处双击可改变模块名称。 (2)模块操作(module operation) (a)模块的选择(module selection) (b)移动模块 (module moving) (c)模块的缩放(modulee scaling) (d) 复制模块:(module copy) 四种方法:

* 在选定模块处,按下鼠标右键并拖动至适当位置;

* 选定模块,在工具栏中(或Edit菜单中)选中Copy与Paste按钮;

* 在选定的模块处点击鼠标右键,在弹出的菜单中选择Copy与Paste选项;

* 按住”Ctrl”键,按下鼠标左键,将选定的模块拖至适当的位置。 (e)模块的旋转与翻转:(Rotating and turnover of module)

旋转:(rotate)将鼠标指向要翻转的模块并按下鼠标右键,选择弹出菜单

中的Format栏中的Rotate项,模块顺时针旋转90o。

翻转:将鼠标指向要翻转的模块并按下鼠标右键,选择弹出菜单中的

Format栏中的Flip Block项,模块顺时针旋转180o。 (f) 模块的连接 (h)连接分支线 (i)改变连线的形状

(j)连线的标识:在连线的上或下方(或窗口内任何位置)双击鼠标左

键,可出现一个文本框用于输入说明文字。

(3).简单模型(Simple mode)

信号发生器发生幅值为1,频率为0.2HZ的正弦波信号,信号分别按1倍和5倍送入两个示波器。

2. 模型的修饰(Mode modifying)

1. 模块加阴影:Format菜单中的Show drop shadow菜单项用于给模块加阴影。

2. 调整颜色:Format菜单中的Foreground color菜单项用于调整模块的前景颜色。Background color菜单项用于选择模块的背景颜色。Screen color菜单项用于调整屏幕颜色。

3. 变换模块名的显示位置:Format 菜单中的Flip name可将模块名换到对称的位置,Hide name可将模块名隐藏起来。

4. 模块修饰的一个简单示例

三. 仿真计算与分析方法(simulink calculation and the method of analyzing) 1.连续系统建模(Module creating of continuous system)

(1).用积分模块创建微分方程求解的模型(creating the solve mode of differential equation with integral modules):

有二阶微分方程x’’+0.2x’+0.4x=0.2u(t), u(t)是单位阶跃函数,演示如何用积分器直接创建求解该微分方程的模型。

(a) 改写微分方程为(reforming differential equation): x’’=0.2u(t)-0.2x’-0.4x

(b) 利用Simulink库中的标准模块建模(Creating mode with modules in the library of Simulink) :基本思路是x’’经积分后得 x’,再积分得 x,再将 x’和 x经代数运算得到 x’’。结果送入示波器,也可同时存储在工作空间变量simy中。

(2).用传递函数模块求解(Solving by transfer function module):以二阶微分方程x’’+0.2x’+0.4x=0.2u(t)为例, 初始状态为0,u(t)是单位阶跃函数。对方程两边进行Laplace变换,得到: s2X(s)+0.2sX(s)+0.4X(s)=0.2U(s) 整理后得传递函数:(Transfer function) G(s)=X(s)/U(s)=0.2/(s2+0.2s+0.4)

利用上式采用传递函数模块可建立求解微分方程的模型。

2、将MATLAB工作空间中信号矩阵作为模型输入:利用From Workspace模块实现

例:模拟下述方程表达的结果 t2 (0≤t<T) U(t)= (2T-t)2 (T≤t<2T) 0 (其他)

(1)首先编写一个信号矩阵的M函数文件: function TU=source(TO,NO,K) t=linspace(0,K*TO,K*NO+1); N=length(t); u1=t(1:(NO+1)).^2;

u2=(t((NO+2):(2*NO+1))-2*TO).^2; u3(1:(N-(2*NO+2)+1))=0; u=[u1,u2,u3];

TU=[t',u'];

(2)以source文件名保存,

(3)然后建立一个简单的具有接收workspace信号并显示结果的模型。 (4)在命令窗口运行TU=source(2,200,6),便在Workspace中产生一个

TU信号矩阵。

(5)再运行所创建的simulink模型就可得到输出结果。 执行simulink后检查输出结果并做进一步的分析与判断。 (1) 输出信号的观察(output signal observation)

(a) 将信号输出到显示模块(Export signal to display module)

* Scope(示波器):将信号显示在示波器的独立窗口中,通过双击模块即

可打开示波器模块。

* XY Graph 显示器模块:在MATLAB图形窗口绘制二维图形, * Display模块:将结果以数字形式显示出来,在模块中直接滚动显示。

标量、矢量和矩阵形式得结果输出窗口结构略有不同。

(b)将仿真结果存储到工作空间,再用绘图命令在命令窗口绘制图形,(save the result of simulink to workspace and plotting figure on window by using plot command)

有三种方法可供选择:

* 通过示波器模块向工作空间存储数据;

* 通过选择Sinks函数库中的To workspace模块,将数据保存到工作空间的simout变量中,同时还可以产生一个存放时间数据的变量(缺省tout); *通过Simulation菜单选择Simulation Paremeter菜单项中的WorkspaceI/O页,根据各个参数的选择来确定存储的数据内容的类型。

(c). 将仿真结果通过输出端口返回到MATLAB命令窗口,再利用绘图命令绘出输出图形 (return the result of simulink from export to MATLAB window and then drawing the plot on window by using plot command) :

在Sinks函数库中有一个名为Out1的模块,将数据输入到这个模块,该模块就会将数据输出到 MATLAB 命令窗口,并用名为 yout的变量保存,同时还将时间数据用 tout变量保存。

存储在工作空间的结果可以进行进一步的分析。

2.使用一般的分析工具(the using of General analysis tool)

(a). 线性化:将状态空间所描述的线性系统输入输出关系由下式表示:

x’=Ax+Bu y=Cx+Du 其中:x 代表状态矢量

y代表输出矢量 u代表输入矢量

A,B,C,D为系统线性化的状态空间矩阵

如创建用于线性化的系统模型名为lmod,并保存为”lmod.mdl”.

在命令窗口输入命令 [A B C D]=linmod(‘lmod’)就可以获得系统的常微分方程 lmod的状态空间线性模型,返回系统线性化的状态空间矩阵。 [A B C D]=linmod(‘lmod’)

([A,B,C,D]=LINMOD('SYS') obtains the state-space linear model of the system of ordinary differential equations described in the block diagram 'SYS' when the state variables and inputs are set to the defaults specified in the block diagram.)

(b)由状态方程转成LTI对象(transfer state equations to LTI object):一旦数据形成了状态空间形式或者转变成了LTI对象,就可以使用Control System Toolbox函数进行进一步的分析。

利用ss函数可将上面线性化的系统转成LTI对象,命令格式为:

sys=ss(A,B,C,D)

(c) 绘制波德图:(Bode plot drawing) 用bode 函数可绘制波德图,(相位、幅

1In1Add22-s +s+1Transfer Fcn22s+1Transfer Fcn1Out21Out1值与频率的关系图)

bode(A,B,C,D) 或 bode(sys)

BODE(SYS) draws the Bode plot of the LTI model SYS (created with either TF, ZPK, SS, or FRD). The frequency range and number of points are chosen automatically. (d)线性时间响应(Linear time response):

给一个阶跃信号(step signal):step(A,B,C,D) 或 step(sys) 线性化阶响应 或给一个脉冲信号(impulse):impulse(A,B,C,D) 或 impulse(sys)线性化脉

冲响应

(e)求系统平衡点(find the balance point of system):在非线性系统中,分析评估系统稳定性或稳定状态时大多需要用到平衡点。平衡点是指所有状态导数等于零的点。若仅有部分状态导数等于零,则称为偏平衡点。

要使输出为1,并找出输入以及状态值时,可用”trim”函数来实现。 以前面创建的”lmod”模型为例:

%第一步:对状态变量x以及输入u做初步设定,并设定想要的输出值。

x=[0;0;0]; u=0; y=[1;1];

%第二步:使用索引变量确定那些值可变,那些是固定不变的。 ix=[ ]; %任何状态值可变 iu=[ ]; %任何输入可变 iy=[1,2]; %两个输出不能变

%第三步:调用trim函数,求出系统平衡点。 [x,u,y,dx]=trim(‘lmod’,x,u,y,ix,iu,iy)

[A,B,C,D]=LINMOD('lmod') %系统线性化的状态空间矩阵 sys=ss(A,B,C,D) %由状态方程转成LTI对象 figure(1)

bode(sys) %绘制波德图,(相位、幅值与频率的关系图) figure(2)

step(A,B,C,D) %线性时间响应 x=[0;0;0]; %设定状态变量 u=0; %设定输入值

y=[1;1]; %设定想要的输出值 ix=[]; %表示状态不固定 iu=[]; %表示输入不固定

iy=[1,2]; %固定第一个输出及第二个输出 [x,u,y,dx]=trim('lmod',x,u,y,ix,iu,iy) A = -1 0 -2 -2 1 1 0 1 0 B = 0 1 0

C = -2 0 0 0 0 -2 D = 1 0

a = x1 x2 x3 x1 -1 0 -2 x2 -2 1 1 x3 0 1 0 b = u1 x1 0 x2 1 x3 0

c = x1 x2 x3 y1 -2 0 0 y2 0 0 -2 d = u1 y1 1 y2 0 x = 1.3333 0.0000

%求系统平衡点 -0.6667 u = 3.3333 y = 0.6667 1.3333

dx = 1.0e-015 * 0 -0.1110 0.0000

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 返回并改变封装模块的弹出菜单项 movemask 重建内置封装模块为封装的子模块 库命令 libinfo 从系统中得到库信息 诊断命令 sllastdiagnostic 上一次诊断信息 sllasterror 上一次错误信息 sllastwarning 上一次警告信息 sldiagnostics 为一个模型获取模块的数目和编译状态 硬拷贝和打印命令 frameedit 编辑打印画面 print 将simulink系统打印成图片,或将图片保存为m文件 printopt 打印机默认设置 orient 设置纸张的方向 常用Simulink模块简介 Sources库中模块 Band-Limited white Noise 给连续系统引入白噪声 Chirp Signal 产生一个频率递增的正弦波(线性调频信号) Clock 显示并提供仿真时间 Constant 生成一个常量值 Counter Free-Running 自运行计数器,计数溢出时自动清零 Counter Limited 有限计数器,可自定义计数上限 Digital Clock 生成有给定采样间隔的仿真时间 From File 从文件读取数据 From Workspace 从工作空间中定义的矩阵中读取数据 Ground 地线,提供零电平 Pulse Generator 生成有规则间隔的脉冲 In1 提供一个输入端口 Ramp 生成一连续递增或递减的信号 Random Number 生成正态分布的随机数 Repeating Sequence 生成一重复的任意信号 Repeating Sequence Interpolated 生成一重复的任意信号,可以插值 Repeating Sequence Stair 生成一重复的任意信号,输出的是离散值 Signal Builder 带界面交互的波形设计 Signal Generator 生成变化的波形 Sine Wave 生成正弦波 Step 生成一阶跃函数 Uniform Random Number 生成均匀分布的随机数 Sink库中模块 Display 显示输入的值 Floating Scope 显示仿真期间产生的信号,浮点格式 Out1 提供一个输出端口 Scope 显示仿真期间产生的信号 Stop Simulation 当输入为非零时停止仿真 Terminator 终止没有连接的输出端口 To File 向文件中写数据 To Workspace 向工作空间中的矩阵写入数据 XY Graph 使用Matlab的图形窗口显示信号的X-Y图 Discrete库中的模块 Difference 差分器 Difference Derivative 计算离散时间导数 Discrete Filter 实现IIR和FIR滤波器 Discrete State-Space 实现用离散状态方程描述的系统 Discrete Transfer Fcn 实现离散传递函数 Discrete Zero-Pole 实现以零极点形式描述的离散传递函数 Discrete-time Integrator 执行信号的离散时间积分 First-Order Hold 实现一阶采样保持 Integer Delay 将信号延迟多个采样周期 Memory 从前一时间步输出模块的输入 Tapped Delay 延迟N个周期,然后输出所有延迟数据 Transfer Fcn First Order 离散时间传递函数 Transfer Fcn Lead or Lag 超前或滞后传递函数,主要有零极点树木决定 Transfer Fcn Real Zero 有实数零点,没有极点的传递函数 Unit Delay 将信号延迟一个采样周期 Weighted Moving Average 加权平均 Zero-Order Hold 零阶保持 Continuous库中的各模块 Derivative 输入对时间的导数 Integrator 对信号进行积分 State-Space 实现线性状态空间系统 Transfer Fcn 实现线性传递函数 Transfer Delay 以给定的时间量延迟输入 Variable Transfer Delay 以可变的时间量延迟输入 Zero-Pole 实现用零极点形式表示的传递函数 Discontinuities库中的各模块 Backlash 模拟有间隙系统的行为 Coulomb & Viscous Friction 模拟在零点出不连续,在其他地方有线性增益的系统 Dead Zone 提供输出为零的区域 Dead Zone Dynamic 动态提供输出为零的区域 Hit Crossing 检测信号上升沿、下降沿以及与指定值得比较结果,输出零或一 Quantizer 以指定的间隔离散化输入 Rate Limiter 限制信号的变化速度 Relay 在两个常数中选出一个作为输出 Saturation 限制信号的变化范围 Saturation Dynamic 动态限制信号的变化范围 Wrap to Zero 输入大于门限则输出零,小于则直接输出 Math 库中的模块 Abs 输出输入的绝对值 Add 对信号进行加法或减法运算 Algebraic Constant 将输入信号抑制为零 Assignment 赋值 Bias 给输入加入偏移量 Complex to Magnitude-Angle 输出复数输入信号的相角和幅值 Complex to Real-Image 输出复数输入信号的实部和虚部 Divide 对信号进行乘法或除法运算 Dot Product 产生点积 Gain 将模块的输入乘以一个数值 Magnitude-Angle to Complex 由相角和幅值输入输出一个复数信号 Math Function 数学函数 Matrix Concatenation 矩阵串联 MinMax 输出信号的最小或最大值 MinMax Running Resettable 输出信号的最小或最大值,带复位功能 Polynomial 计算多项式的值 Product 产生模块各输入的简积或商 Product of Elements 产生模块各输入的简积或商 Real-Imag to Complex 由实部和虚部输入输出复数信号 Reshape 改变矩阵或向量的维数 Rounding Function 执行圆整函数 Sign 指明输入的符号 Sine Wave Function 输出正弦信号 Slider Gain 使用滑动器改变标量增益 Subtract 对信号进行加法或减法运算 Sum of Elements 生成输入的和 Trigonometric Function 执行三角函数 Unary Minus 对输入取反 Weighted Sample Time Math 对信号经过加权时间采样的值进行加、减、乘、除运算

常用MATLAB命令

管理命令和函数 help doc what type lookfor which Demo Path 管理变量和工作空间 在线帮助文件 装入超文本说明 M、MAT、MEX文件的目录列表 列出M文件 通过help条目搜索关键字 定位函数和文件 运行演示程序 控制MATLAB的搜索路径 Who Whos Load Save Clear Pack Size Length disp 与文件和操作系统有关的命令 cd Dir Delete Getenv ! Unix Diary 控制命令窗口 Cedit Clc Home Format Echo more 启动和退出MATLAB Quit Startup Matlabrc 一般信息 Info Subscribe hostid Whatsnew Ver 操作符和特殊字符 + — * .* ^ 列出当前变量 列出当前变量(长表) 从磁盘文件中恢复变量 保存工作空间变量 从内存中清除变量和函数 整理工作空间内存 矩阵的尺寸 向量的长度 显示矩阵或 改变当前工作目录 目录列表 删除文件 获取环境变量值 执行DOS操作系统命令 执行UNIX操作系统命令并返回结果 保存MATLAB任务 设置命令行编辑 清命令窗口 光标置左上角 设置输出格式 底稿文件内使用的回显命令 在命令窗口中控制分页输出 退出MATLAB 引用MATLAB时所执行的M文件 主启动M文件 MATLAB系统信息及Mathworks公司信息 成为MATLAB的订购用户 MATLAB主服务程序的识别代号 在说明书中未包含的新信息 版本信息 加 减 矩阵乘法 数组乘法 矩阵幂 .^ \\ / ./ Kron : ( ) [ ] . .. … , ; % ! ‘ = = = < > & | ~ xor 逻辑函数 数组幂 左除或反斜杠 右除或斜杠 数组除 Kronecker张量积 冒号 圆括号 方括号 小数点 父目录 继续 逗号 分号 注释 感叹号 转置或引用 赋值 相等 关系操作符 逻辑与 逻辑或 逻辑非 逻辑异或 检查变量或函数是否存在 向量的任一元为真,则其值为真 向量的所有元为真,则其值为真 找出非零元素的索引号 正弦 双曲正弦 反正弦 反双曲正弦 余弦 双曲余弦 反余弦 反双曲余弦 正切 双曲正切 反正切 Exist Any All Find Sin Sinh Asin Asinh Cos Cosh Acos Acosh Tan Tanh Atan 三角函数 Atan2 Atanh Sec Sech Asech Csc Csch Acsc Acsch Cot Coth Acot Acoth 指数函数 四象限反正切 反双曲正切 正割 双曲正割 反双曲正割 余割 双曲余割 反余割 反双曲余割 余切 双曲余切 反余切 反双曲余切 指数 自然对数 常用对数 平方根 绝对值 相角 复共轭 复数虚部 复数实部 朝零方向取整 朝负无穷大方向取整 朝正无穷大方向取整 朝最近的整数取整 除后取余 符号函数 零矩阵 全“1”矩阵 单位矩阵 均匀分布的随机数矩阵 正态分布的随机数矩阵 对数间隔的向量 三维图形的X和Y数组 规则间隔的向量 Exp Log Log10 Sqrt Abs Argle Conj Image Real Fix Floor Ceil Round Rem Sign Zeros Ones Eye Rand Randn Logspace Meshgrid : 复数函数 数值函数 基本矩阵 特殊变量和常数 Ans Eps Realmax Realmin Pi I,j Inf Nan Flops Nargin Nargout Computer Isieee Why Version 时间和日期 Clock Date Etime Tic Toc Cputime 矩阵操作 Diag Fliplr Flipud Reshape Rot90 Tril Triu : Compan Hadamard Hankel Hilb Invhilb Kron Magic Toeplitz 当前的答案 相对浮点精度 最大浮点数 最小浮点数 圆周率 虚数单位 无穷大 非数值 浮点运算次数 函数输入变量数 函数输出变量数 计算机类型 当计算机采用IEEE算术标准时,其值为真 简明的答案 MATLAB版本号 挂钟 日历 计时函数 秒表开始计时 计时函数 CPU时间(以秒为单位) 建立和提取对角阵 矩阵作左右翻转 矩阵作上下翻转 改变矩阵大小 矩阵旋转90度 提取矩阵的下三角部分 提取矩阵的上三角部分 矩阵的索引号,重新排列矩阵 友矩阵 Hadamard矩阵 Hankel矩阵 Hilbert矩阵 逆Hilbert矩阵 Kronecker张量积 魔方矩阵 Toeplitz矩阵 Vander 矩阵分析 Vandermonde矩阵 Cond Norm Rcond Linpack Rank Det Trace Null Orth 计算矩阵条件数 计算矩阵或向量范数 逆条件值估计 计算矩阵秩 计算矩阵行列式值 计算矩阵的迹 零矩阵 正交化 线性方程求解 Cholesky分解 高斯消元法求系数阵 矩阵求逆 正交三角矩阵分解(QR分解) 矩阵伪逆 求特征值和特征向量 求特征多项式 Hessberg形式 广义特征值 变复对角矩阵为实分块对角形式 Schur分解 矩阵均衡处理以提高特征值精度 奇异值分解 矩阵指数 实现expm的M文件 通过泰勒级数求矩阵指数 通过特征值和特征向量求矩阵指数 矩阵对数 矩阵开平方根 一般矩阵的计算 低阶法求解常微分方程 低阶法求解常微分方程并绘出结果图形 高阶法求解常微分方程 低阶法计算数值积分 高阶法计算数值积分 线性方程 \\和/ Chol Lu Inv Qr Pinv 特征值和奇异值 Eig Poly Hess Qz Cdf2rdf Schur Balance Svde 矩阵函数 Expm Expm1 Expm2 Expm3 Logm Sqrtm Funm 泛函——非线性数值方法 Ode23 Ode23p Ode45 Quad Quad8 Fmin Fmins Fzero Fplot 多项式函数 Roots Poly Polyvalm Residue Polyfit Polyder Conv Deconv 建立和控制图形窗口 Figure Gcf Clf Close 建立和控制坐标系 Subplot Axes Gca Cla Axis Caxis Hold 句柄图形对象 Figure Axes Line Text Patch Surface Image Uicontrol Uimen 句柄图形操作 Set Get Reset 单变量函数的极小变化 多变量函数的极小化 找出单变量函数的零点 函数绘图 求多项式根 构造具有指定根的多项式 带矩阵变量的多项式计算 部分分式展开(留数计算) 数据的多项式拟合 微分多项式 多项式乘法 多项式除法 建立图形 获取当前图形的句柄 清除当前图形 关闭图形 在标定位置上建立坐标系 在任意位置上建立坐标系 获取当前坐标系的句柄 清除当前坐标系 控制坐标系的刻度和形式 控制伪彩色坐标刻度 保持当前图形 建立图形窗口 建立坐标系 建立曲线 建立文本串 建立图形填充块 建立曲面 建立图像 建立用户界面控制 建立用户界面菜单 设置对象 获取对象特征 重置对象特征 Delete Newplot Gco Drawnow Findobj 删除对象 预测nextplot性质的M文件 获取当前对象的句柄 填充未完成绘图事件 寻找指定特征值的对象 打印图形或保存图形 配置本地打印机缺省值 设置纸张取向 屏幕抓取当前图形 线性图形 对数坐标图形 半对数坐标图形(X轴为对数坐标) 半对数坐标图形(Y轴为对数坐标) 绘制二维多边形填充图 极坐标图 条形图 离散序列图或杆图 阶梯图 误差条图 直方图 角度直方图 区域图 箭头图 绘图函数 星点图 图形标题 X轴标记 Y轴标记 文本注释 用鼠标放置文本 网格线 增加新的函数 执行由MATLAB表达式构成的字串 执行由字串指定的函数 定义全局变量 打印和存储 Print Printopt Orient Capture 基本X—Y图形 Plot Loglog Semilogx Semilogy Fill 特殊X—Y图形 Polar Bar Stem Stairs Errorbar Hist Rose Compass Feather Fplot Comet 图形注释 Title Xlabel Ylabel Text Gtext Grid MATLAB编程语言 Function Eval Feval Global 程序控制流 If Else Elseif End For While Break Return Error 条件执行语句 与if命令配合使用 与if命令配合使用 For,while和if语句的结束 重复执行指定次数(循环) 重复执行不定次数(循环) 终止循环的执行 返回引用的函数 显示信息并终止函数的执行 提示用户输入 像底稿文件一样使用键盘输入 产生由用户输入选择的菜单 等待用户响应 建立用户界面菜单 建立用户界面控制 MATLAB中有关字符串函数的说明 变字符串为数值 变数值为字符串 当变量为字符串时其值为真 空串 删除尾部的空串 从各个字符串中形成文本矩阵 执行由MATLAB表达式组成的串 , , , 比较字符串 交互输入 Input Keyboard Menu Pause Uimenu Uicontrol 一般字符串函数 Strings Abs Setstr Isstr Blanks Deblank Str2mat Eval 字符串比较 Strcmp Findstr Upper Lower Isletter Isspace 字符串与数值之间变换 Num2str Int2str Str2num Sprintf Sscanf 十进制与十六进制数之间变换 在一字符串中查找另一个子串 变字符串为大写 变字符串为小写 当变量为字母时,其值为真 当变量为空白字符时,其值为真 变数值为字符串 变整数为字符串 变字符串为数值 变数值为格式控制下的字符串 变字符串为格式控制下的数值 Hex2num Hex2dec Dec2hex 变十六进制为IEEE标准下的浮点数 变十六制数为十进制数 变十进制数为十六进制数 建模 Append Augstate Blkbuild Cloop Connect Conv Destim Dreg Drmodel Estim Feedback Ord2 Pade Parallel Reg Rmodel Series Ssdelete ssselect C2d C2dm C2dt D2c D2cm Poly Residue Ss2tf Ss2zp Tf2ss Tf2zp Zp2tf Zp2ss Balreal 追加系统动态特性 变量状态作为输出 从方框图中构造状态空间系统 系统的闭环 方框图建模 两个多项式的卷积 从增益矩阵中形成离散状态估计器 从增益矩阵中形成离散控制器和估计器 产生随机离散模型 从增益矩阵中形成连续状态估计器 反馈系统连接 产生二阶系统的A、B、C、D 时延的Pade近似 并行系统连接 从增益矩阵中形成连续控制器和估计器 产生随机连续模型 串行系统连接 从模型中删除输入、输出或状态 从大系统中选择子系统 变连续系统为离散系统 利用指定方法变连续为离散系统 带一延时变连续为离散系统 变离散为连续系统 利用指定方法变离散为连续系统 变根值表示为多项式表示 部分分式展开 变状态空间表示为传递函数表示 变状态空间表示为零极点表示 变传递函数表示为状态空间表示 变传递函数表示为零极点表示 变零极点表示为传递函数表示 变零极点表示为状态空间表示 平衡实现 模型变换 模型简化 Dbalreal Dmodred Minreal Modred 模型实现 离散平衡实现 离散模型降阶 最小实现和零极点对消 模型降阶 正则形式 可控阶梯形 可观阶梯形 采用相似变换 相对于白噪声的连续协方差响应 可控性矩阵 阻尼系数和固有频率 连续稳态(直流)增益 相对于白噪声的离散协方差响应 离散阻尼系数和固有频率 离散系统增益 离散可控性和可观性 按幅值排序离散特征值 特征值和特征向量 按实部排列连续特征值 可控性和可观性 可观性矩阵 按格式显示系统 多项式之根 传递零点 利用随机扰动法传递零点 离散时间单位冲激响应 离散时间零输入响应 任意输入下的离散时间仿真 离散时间阶跃响应 单输入单输出Z变换仿真 冲激响应 连续时间零输入响应 任意输入下的连续时间仿真 低级时间响应函数 阶跃响应 阶跃函数 Canon Ctrbf Obsvf Ss2ss Covar Ctrb Damp Dcgain Dcovar Ddamp Ddcgain Dgram Dsort Eig Esort Gram Obsv Printsys Roots Tzero Tzero2 Dimpulse Dinitial Dlsim Dstep Filter Impulse Initial Lsim Ltitr Step Stepfun 模型特性 时域响应 频域响应 Bode Dbode Dnichols Dnyquist Dsigma Fbode Freqs Freqz Ltifr Margin Nichols Ngrid Nyquist Sigma Pzmap Rlocfind Rlocus Sgrid Zgrid Acker Dlqe Dlqew Dlqr Dlqry Lqe Lqed Lqe2 Lqew Lqr Lqrd Lqry Lqr2 Place Are Dlyap Lyap Lyap2 Bode图(频域响应) 离散Bode图 离散Nichols图 离散Nyquist图 离散奇异值频域图 连续系统的快速Bode图 拉普拉斯变换频率响应 Z变换频率响应 低级频率响应函数 增益和相位裕度 Nichols图 画Nichols图的栅格线 Nyquist图 奇异值频域图 零极点图 交互式地确定根轨迹增益 画根轨迹 在网格上画连续根轨迹 在网格上画离散根轨迹 单输入单输出极点配置 离散线性二次估计器设计 离散线性二次估计器设计 离散线性二次调节器设计 输出加权的离散调节器设计 线性二次估计器设计 基于连续代价函数的离散估计器设计 利用Schur法设计线性二次估计器 一般线性二次估计器设计 线性二次调节器设计 基于连续代价函数的离散调节器设计 输出加权的调节器设计 利用Schur法设计线性二次调节器 极点配置 代数Riccati方程求解 离散Lyapunov方程求解 连续Lyapunov方程求解 利用对角化求解Lyapunov方程 根轨迹 增益选择 方程求解 演示示例 Ctrldemo Boildemo Jetdemo Diskdemo Kalmdemo Abcdchk Chop Dexresp Dfrqint Dfrqint2 Dmulresp Distsl Dric Dsigma2 Dtimvec Exresp Freqint Freqint2 Freqresp Givens Housh Imargin Lab2ser Mulresp Nargchk Perpxy Poly2str Printmat Ric Schord Sigma2 Tfchk Timvec Tzreduce Vsort 控制工具箱介绍 锅炉系统的LQG设计 喷气式飞机偏航阻尼的典型设计 硬盘控制器的数字控制 Kalman滤波器设计和仿真 检测(A、B、C、D)组的一致性 取n个重要的位置 离散取样响应函数 离散Bode图的自动定范围的算法 离散Nyquist图的自动定范围的算法 离散多变量响应函数 到直线间的距离 离散Riccati方程留数计算 DSIGMA实用工具函数 离散时间响应的自动定范围算法 取样响应函数 Bode图的自动定范围算法 Nyquist图的自动定范围算法 低级频率响应函数 旋转 构造Householder变换 利用内插技术求增益和相位裕度 变标号为字符串 多变量响应函数 检测M文件的变量数 寻找最近的正交点 变多项式为字符串 带行列号打印矩阵 Riccati方程留数计算 有序Schwr分解 SIGMA使用函数 检测传递函数的一致性 连续时间响应的自动定范围算法 在计算过零点时简化系统 匹配两根轨迹的向量 实用工具

因篇幅问题不能全部显示,请点此查看更多更全内容