自动控制原理matlab控制系统仿真.ppt_第1页
自动控制原理matlab控制系统仿真.ppt_第2页
自动控制原理matlab控制系统仿真.ppt_第3页
自动控制原理matlab控制系统仿真.ppt_第4页
自动控制原理matlab控制系统仿真.ppt_第5页
已阅读5页,还剩103页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

自动控制原理与Matlab Matlab软件工具在控制系统分析和综合中的应用 Matlab基本特点控制系统在Matlab中的描述进行部分分式展开控制系统的时间响应分析控制系统的频域响应分析控制系统的根轨迹图系统稳定性分析Simulink仿真工具 1 matlab基本特点 Matlab简介 1980年前后 美国moler博士构思并开发 最初的matlab版本是用fortran语言编写 现在的版本用c语言改写 1992年推出了具有划时代意义的matlab4 0版本 并于1993年推出了其windows平台下的微机版 现在比较新的版本是6 5版 Matlab语言特点 Matlab以复数矩阵为最基本的运算单元 既可以对它整体地进行处理 也可以对它的某个或某些元素进行单独地处理 在matlab中 数据的存储 输入 输出都是以矩阵为基础的 矩阵和其它变量不需要预先定义 matlab语言最基本的赋值语句结构为变量名列表 表达式变量名为matlab语句的返回值 等号右边是表达式的定义 它可以是矩阵 也可是函数调用 等号右边的表达式可以由分号结束 也可以由逗号或换行结束 但它们的含义是不同的 如果用分号结束 则左边的变量结果将不在屏幕上显示出来 否则将把左边返回矩阵的内容全部显示出来 如 A 1 0 1 1 0 0 2 1 0 B 1 0 2 2 1 1 1 0 1 B 102211101 在matlab下 矩阵A和矩阵B的乘积 假定其中A B矩阵是可乘的 可以简单地由运算C A B求出 C A BC 203102415 而D A B称点乘积运算 即表示A和B矩阵的相应元素之间直接进行乘法运算 然后将结果赋给D矩阵 点乘积运算要求A和B矩阵的维数相同 D A BD 102200200 在MATLAB中多项式由行向量组成 这些行向量包含了降次排列的多项式系数 例如多项式p s 1s3 3s2 0s1 4s0输入 p 1304 r roots p r 3 3553e 001 7765e 01 1 0773e 00j1 7765e 01 1 0773e 00j p poly r p 1 0003 0000 000 0 000j4 000 0 000j 输入多项式并求根 Matlab下提供了两种文件格式 m文件 matlab函数M文件是普通的ascii码构成的文件 在这样的文件中只有由matlab语言所支持的语句 类似于doc下的批处理文件 它的执行方式很简单 用户只需在matlab的提示符 下键入该m文件的文件名 这样matlab就会自动执行该m文件中的各条语句 它采用文本方式 编程效率高 可读性很强 Matlab函数是最常用的特殊m文件 该函数是由function语句引导 其基本格式如下Function返回变量列表 函数名 输入量列表 注释说明语句段函数体语句调用时在matlab的提示符下键入函数名 并包括输入变量 类似于c语言的子程序调用 如Functionplot sin xmin xmax X xmin min 0 01 xmax xmin 100 xmax Plot x sin x Thisisademo 要分析系统 首先需要能够描述这个系统 在线性系统理论中 一般常用的数学模型形式有 传递函数模型 系统的外部模型 状态方程模型 系统的内部模型 零极点增益模型和部分分式模型等 这些模型之间都有着内在的联系 可以相互进行转换 2 控制系统在matlab中的描述 一 传递函数模型 对线性定常系统 式中s的系数均为常数 且a1不等于零 这时系统在MATLAB中可以方便地由分子和分母系数构成的两个向量唯一地确定出来 这两个向量分别用num和den表示 分子 num b1 b2 bm bm 1 分母 den a1 a2 an an 1 注意 它们都是按s的降幂进行排列的 在MATLAB中零极点增益模型用 z p K 矢量组表示 即 z z1 z2 zm p p1 p2 pn K k 函数tf2zp 可以用来求传递函数的零极点和增益 二 零极点增益模型 K为系统增益 zi为零点 pj为极点 利用下面的语句就可以表示这个系统 传递函数的形式sys tf num den 其中tf 代表传递函数的形式描述系统 零极点形式sys1 zpk sys 传递函数形式和零极点形式之间可以相互转化 语句为 z p k tf2zp num den num den zp2tf z p k 当传递函数复杂时 应用多项式乘法函数conv 等实现 举例 传递函数描述1 num 12 24 0 20 den 24622 2 借助多项式乘法函数conv 卷积 来处理 num 4 conv 1 2 conv 1 6 6 1 6 6 den conv 1 0 conv 1 1 conv 1 1 conv 1 1 1 3 2 5 num 1 11 30 0 den 1 9 45 87 50 z p k tf2zp num den z 0 6 5 p 3 0000 4 0000i 3 0000 4 0000i 2 0000 1 0000 k 1 零极点增益模型 s zpk z p k 1 Zero pole gain 1z z 6 z 5 1 z 2 z 1 z 2 6z 25 输入命令 控制系统常用到并联系统 这时就要对系统函数进行分解 使其表现为一些基本控制单元和的形式 函数 r p k residue num den 对两个多项式的比进行部分展开 以及把传函分解为微分单元的形式 向量num和den是按s的降幂排列的多项式系数 部分分式展开后 留数返回到向量r 极点返回到列向量p 常数项返回到k num den residue r p k 可以将部分分式转化为多项式比 三 部分分式展开 num和den分别表示传递函数的分子和分母的系数 即num bo bl bn den 1 al an 命令 r p k residue num den 将求出传递函数的部分分式展开式中的留数 极点和余项 即得到 例 对于下列系统传递函数 输入命令 num 0 1 3 den 1 3 2 r p k residue num den r 2 0000 1 0000p 1 0000 2 0000k 即 得到 反之 利用下列命令 num den residue r p k 可以将部分分式展开式返回到传递函数多项式之比的形式 即得到num 0 00001 00003 0000den 1 00003 00002 0000 num den residue r p k 当包含m重极点时 部分分式展开式将包括下列m项 例对于下列系统传递函数输入命令 num 0 1 2 3 den 1 3 3 1 r p k residue num den r 1 00000 00002 0000p 1 0000 1 0000 l 0000k 即 3 结构图模型 串联一个开环控制系统可以通过G1 s 与G2 s 两个环节的串联而得到 利用series 函数可以求串联连接的传递函数 函数的具体形式为 num den series num1 den1 num2 den2 并联当系统是以并联的形式连接时 利用parallel 函数可得到系统的传递函数 指令的具体形式为 将并联连接的传递函数进行相加 num den parallel num1 den1 num2 den2 串联函数的用法如下 num1 11 den2 12 num2 1 den1 50000 num den series num1 den1 num2 den2 printsys num den num den s 1 500s 3 1000s 2 series函数的用法 例如G1 s 和G2 s 串联连接的传递函数分别为 反馈系统以反馈方式构成闭环 则系统的闭环传递函数为 求闭环传递函数的MATLAB函数有两个 cloop 和feedback 其中cloop 函数只能用于H s 1 即单位反馈 的情况 cloop 函数的具体用法为 num den cloop numg deng sign 其中numg和deng分别为G s 的分子和分母多项式 sign 1为正反馈 sign 1为负反馈 默认值 feedback 函数的用法为 num den feedback numg deng numh denh sign 其中numh为H s 的分子多项式 denh为分母多项式 闭环反馈系统的结构图如图2 70所示 被控对象G s 和控制部分Gc s 以及测量环节H s 的传递函数分别为 图2 70闭环反馈系统的结构图 应用series 函数和feedback 函数求闭环传递函数的MATLAB指令如图2 71所示 numg 1 deng 500 numc 11 denc 12 numh 1 denh 110 num1 den1 series numc denc numg deng num den feedback num1 den1 numh denh 1 printsys num den num den s 2 11s 10 5s 4 60s 3 100s 2 s 1 图2 71feedback 函数的应用 练习 编程实现传递函数模型 零极点模型及部分方式模型 4 线性系统的时间响应分析 Matlab的Control工具箱提供了很多线性系统在特定输入下仿真的函数 例如连续时间系统在阶跃输入激励下的仿真函数step 脉冲激励下的仿真函数impulse 及任意输入激励下的仿真函数lsim 等 求取系统单位阶跃响应 step 求取系统的冲激响应 impulse 求取系统任意激励响应 lsim 如果用户对具体的响应数值不感兴趣 而只想绘制出系统的阶跃响应曲线 则可以由如下的格式调用step sys t 或step sys step 函数的用法 y step sys t 其中sys可以由tf 或zpk 函数得到 t为选定的仿真时间向量 一般可以由t 0 step end等步长地产生出来 此函数只返回仿真数据而不在屏幕上画仿真图形 返回值y为系统在仿真时刻各个输出所组成的矩阵 y step num den t y x t step sys 此时时间向量t由系统模型的特性自动生成 状态变量x返回为空矩阵 任意输入下的仿真函数lsim 的调用格式稍有不同 因为在此函数的调用时还应该给出一个输入表向量 该函数的调用格式为 y x lsim sys u t impulse 函数的用法 求取脉冲激励响应的调用方法与step 函数基本一致 y impulse num den t y impulse sys t y x t impulse num den impulse num den impulse num den t y x lsim sys u t 式中 u为给定输入构成的列向量 它的元素个数应该和t的个数是一致的 当然该函数若调用时不返回参数 也可以直接绘制出响应曲线图形 例如sys tf num den t 0 0 01 5 u sin t lsim sys u t 为单输入模型sys对u t sin t 在5秒之内的输入响应仿真 任意输入下的仿真函数lsim 对于典型二阶系统根据其响应时间的估算公式可以确定 对于高阶系统往往其响应时间很难估计 一般采用试探的方法 把t选大一些 看看响应曲线的结果 最后再确定其合适的仿真时间 一般来说 先不指定仿真时间 由Matlab自己确定 然后根据结果 最后确定合适的仿真时间 在指定仿真时间时 步长的不同会影响到输出曲线的光滑程度 一般不易取太大 仿真时间t的选择 MATLAB还提供了离散时间系统的仿真函数 包括阶跃响应函数dstep 脉冲响应函数dimpulse 和任意输入响应函数dlsim 等 它们的调用方式和连续系统的不完全一致 读者可以参阅MATLAB的帮助 如在MATLAB的提示符 下键入helpdstep来了解它们的调用方式 离散时间系统的仿真函数 step 阶跃响应impulse 脉冲响应lsim 对指定输入的连续输出gensig 对LSIM产生输入信号stepfun 产生单位阶跃输入 时域分析常用函数如下 格式 u t gensig type tau 功能 按指定类型type和周期tau生成特定类型的激励信号 Type可取为 sin square pulse 例 产生一个周期为4秒的方波 持续时间10秒 采样周期0 1秒 gensig 对LSIM产生输入信号 u t gensig square 4 10 0 1 stepfun 产生单位阶跃输入 例产生一阶跃信号 命令 t 0 1 10 to 1 y stepfun t to 结果y 01111111111 MATLAB程序 u t gensig square 6 12 0 1 plot t u r holdon sys tf 1 1 1 2 5 lsim sys u t 求系统方波响应 例对于下列系统传递函数下列MATLABPrograml1 1将给出该系统的单位阶跃响应曲线 该单位阶跃响应曲线如图1所示 MATLABPrograml1 1 num 0 0 50 den 25 2 1 step num den gridtitle Unit StepResponseofG s 50 25s 2 2s 1 状态方程与输出方程的组合称为状态空间表达式 又称为动态方程 经典控制理论用传递函数将输入 输出关系表达出来 而现代控制理论则用状态方程和输出方程来表达输入 输出关系 揭示了系统内部状态对系统性能的影响 状态空间描述 在MATLAB中 系统状态空间用 A B C D 矩阵组表示 例考虑下列系统试求该系统的单位阶跃响应曲线 虽然用MATLAB求该系统的单位阶跃响应曲线时 不需要求它的传递函数表达式 这里导出这种表达式 以便作为参考 对于给定的系统 传递矩阵G s 为 该系统包含两个输入量和两个输出量 根据考虑不同的输入信号和输出信号 可以定义4个传递函数 当考虑信号u1为输入量时 我们假设u2为零 反之亦然 这4个传递函数为 利用下列命令 step A B C D 可以画出4个单独的阶跃响应曲线 程序如下 A 1 1 6 50 B 11 10 C 10 01 D 00 00 step A B C D 例对于下列系统传递函数下列MATLABPrograml1 2将给出该系统的单位脉冲响应曲线 该单位脉冲响应曲线如图2所示 MATLABPrograml1 2 num 0 0 50 den 25 2 1 impulse num den gridtitle Unit ImpulseResponseofG s 50 25s 2 2s 1 在MATLAB中没有斜坡响应命令 可利用阶跃响应命令求斜坡响应 先用s除G s 再利用阶跃响应命令 例如 考虑下列闭环系统 对于单位斜坡输人量 MATLABPrograml1 3 num 0 0 0 50 den 25 2 1 0 t 0 0 01 100 step num den t gridtitle Unit SteprampResponseofG s 50 25s 2 2s 1 下列MATLABPrograml1 3给出该系统单位斜坡响应曲线 该单位斜坡响应曲线如图3所示 5 控制系统的频域响应分析 已知该系统的频率响应为如果有一个频率向量w 命令格式 Gw polyval num sqrt 1 w polyval den sqrt 1 w 其中num和den分别为系统的分子分母多项式系数向量 频域分析的一般方法 频率特性是指系统在正弦信号作用下 稳态输出与输入之比对频率的关系特性 频率特性函数与传递函数有直接的关系 记为 频域分析法是应用频率特性研究控制系统的一种典型方法 通常将频率特性用曲线的形式进行表示 包括对数频率特性曲线和幅相频率特性曲线简称幅相曲线 MATLAB提供了绘制这两种曲线的函数 求取系统对数频率特性图 波特图 bode 求取系统奈奎斯特图 幅相曲线图或极坐标图 nyquist 对数频率特性图 波特图 绘制 bode bode 函数的调用格式为 m p w bode num den w 这里 num den和前面的叙述一样 w为频率点构成的向量 该向量最好由logspace 函数构成 m p w分别代表Bode响应的幅值向量 相位向量和角频率 相角以度为单位 幅值可转换为分贝单位 格式为 magdb 20 log mag 如果用户只想绘制出系统的Bode图 而对获得幅值和相位的具体数值并不感兴趣 则可以由以下更简洁的格式调用bode 函数bode num den w 或更简洁地bode num den 这时该函数会自动地根据模型的变化情况选择一个比较合适的频率范围 对数频率特性图 波特图 绘制 bode logspace 函数 格式 logspace a b n 在 10a 10b 之间产生n个对数行向量 当没有n时 产生50个对数行向量 例 logspace 0 2 5 ans 1 00003 162310 000031 6228100 0000 调用格式为 nyquist num den 可绘制出以连续时间多项式传递函数表示的系统的极坐标图 nyquist num den w 可利用指定的角频率矢量绘制出系统的极坐标图 当不带返回参数时 直接在屏幕上绘制出系统的极坐标图 图上用箭头表示w的变化方向 负无穷到正无穷 re im w nyquist num den w 返回实部re和虚部im及角频率点w矢量 为正的部分 然后用plot re im 绘制出对应w从负无穷到零变化的部分 Nyquist曲线绘制 nyquist 函数 bode 频率响应伯德图nyquist 频率响应乃奎斯特图nichols 频率响应尼柯尔斯图freqresp 求取频率响应数据margin 幅值裕量与相位裕量pzmap 零极点图使用时可以利用他们的帮助 如helpbode 另外 命令ltiview可以画时域响应和频域响应图 利用helpltiview查看使用说明 常用频域分析函数如下 在分析系统性能的时候经常涉及到系统的幅值裕量与相位裕量的问题 使用Control工具箱提供的margin 函数 可以直接求出系统的幅值裕量与相位裕量 该函数的调用格式为 Gm Pm wcg wcp margin num den 其中 幅值裕量Gm 相位裕度裕量Pm 幅值裕量和相位裕量处相应的频率值wcg和wcp margin 函数 freqs 函数 模拟滤波器特性 freqs用于计算由矢量a和b构成的模拟滤波器H s B s A s 的幅频响应 h freqs b a w 用于计算模拟滤波器的幅频响应 其中实矢量w用于指定频率值 返回值h为一个复数行向量 要得到幅值必须对它取绝对值 即求模 h w freqs b a 自动设定200个频率点来计算频率响应 这200个频率值记录在w中 h w freqs b a n 设定n个频率点计算频率响应 不带输出变量的freqs函数 将在当前图形窗口中绘制出幅频和相频曲线 其中幅相曲线对纵坐标与横坐标均为对数分度 例对于下列系统传递函数下列MATLABPrograml1 4将给出该系统对应的伯德图 其伯德图如图4所示 MATLABPrograml1 4 num 0 0 50 den 25 2 1 bode num den gridtitle BodeDiagramofG s 50 25s 2 2s 1 如果希望从0 01弧度 秒到1000弧度 秒画伯德图 可输入下列命令 w logspace 2 3 100 bode num den w 该命令在0 01弧度 秒和100弧度 秒之间产生100个在对数刻度上等距离的点 例对于下列系统传递函数下列MATLABPrograml1 5将给出该系统对应的伯德图 其伯德图如图5所示 MATLABPrograml1 5 num 10 30 den1 1 2 0 den2 1 1 2 den conv den1 den2 w logspace 2 3 100 bode num den w gridtitle BodeDiagramofG s 10 s 3 s s 2 s 2 s 2 例对于下列系统传递函数下列MATLABPrograml1 6将给出该系统对应的乃奎斯图 其乃奎斯特图如图6所示 MATLABPrograml1 6 num 0 0 50 den 25 2 1 nyquist num den title NyquistPlotofG s 50 25s 2 2s 1 例考虑由下列方程定义的系统 该系统包含两个输入量和两个输出量 这里存在4种正弦输出 输入关系 Y1 j Ul j Y2 j Ul j Y1 j U2 j 和Y2 j U2 j 试画出该系统的奈魁斯特图 MATLABProgram10A 1 1 6 50 B 11 10 C 10 01 D 00 00 nyquist A B C D 6 控制系统的根轨迹图 通常采用下列MATLAB命令画根轨迹rlocus num den 利用该命令 可以在屏幕上得到画出的根轨迹图 增益向量K自动被确定 命令rlocus既适用于连续系统 也适用于离散时间系统 对于定义在状态空间内的系统 其命令为rlocus A B C D MATLAB在绘图命令中还包含自动轴定标功能 rlocus a b c d 或者rlocus num den 根据SISO开环系统的状态空间描述模型和传递函数模型 直接在屏幕上绘制出系统的根轨迹图 开环增益的值从零到无穷大变化 rlocus a b c d k 或rlocus num den k 通过指定开环增益k的变化范围来绘制系统的根轨迹图 r rlocus num den k 或者 r k rlocus num den 不在屏幕上直接绘出系统的根轨迹图 而根据开环增益变化矢量k 返回闭环系统特征方程1 k num s den s 0的根r 它有length k 行 length den 1列 每行对应某个k值时的所有闭环极点 或者同时返回k与r 若给出传递函数描述系统的分子项num为负 则利用rlocus函数绘制的是系统的零度根轨迹 正反馈系统或非最小相位系统 根轨迹图绘制 rlocus 函数 例对于一单位反馈控制系统 其开环传递函数为下列MATLABPrograml1 7将给出该系统对应的根轨迹图 其根轨迹图如图7所示 MATLABPrograml1 7 num 1 3 den1 1 2 0 den2 1 1 2 den conv den1 den2 rlocus num den v 1010 1010 axis v gridtitle Root LocusPlotofG s K s 3 s s 2 s 2 s 2 7 系统稳定性分析 给定一个控制系统 可利用MATLAB在它的时域 频域图形分析中看出系统的稳定性 并可直接求出系统的相角裕量和幅值裕量 此外 我们还可通过求出特征根的分布更直接地判断出系统稳定性 如果闭环系统所有的特征根都为负实部则系统稳定 p z pzmap a b c d 返回状态空间描述系统的极点矢量和零点矢量 而不在屏幕上绘制出零极点图 p z pzmap num den 返回传递函数描述系统的极点矢量和零点矢量 而不在屏幕上绘制出零极点图 pzmap a b c d 或pzmap num den 不带输出参数项 则直接在s复平面上绘制出系统对应的零极点位置 极点用 表示 零点用o表示 pzmap p z 根据系统已知的零极点列向量或行向量直接在s复平面上绘制出对应的零极点位置 极点用 表示 零点用o表示 零极点图绘制 pzmap 函数 rlocfind 函数 MATLAB提供了函数rlocfind 来找出给定的一组根 闭环极点 对应的根轨迹增益 其用法如下 k p rlocfind a b c d 或者 k p rlocfind num den 它要求在屏幕上先已经绘制好有关的根轨迹图 然后 此命令将产生一个光标以用来选择希望的闭环极点 命令执行结果 k为对应选择点处根轨迹开环增益 p为此点处的系统闭环特征根 不带输出参数项 k p 时 同样可以执行 只是此时只将k的值返回到缺省变量ans中 sgrid 函数 sgrid 在现存的屏幕根轨迹或零极点图上绘制出自然振荡频率wn 阻尼比矢量z对应的格线 sgrid new 是先清屏 再画格线 sgrid z wn 则绘制由用户指定的阻尼比矢量z 自然振荡频率wn的格线 用来求取满足条件的向量的下标向量 以列向量表示 例如条件式为real p 0 其含义就是找出极点向量p中满足实部的值大于0的所有元素下标 并将结果返回到ii向量中去 这样如果找到了实部大于0的极点 则会将该极点的序号返回到ii下 如果最终的结果里ii的元素个数大于0 则认为找到了不稳定极点 因而给出系统不稳定的提示 若产生的ii向量的元素个数为0 则认为没有找到不稳定的极点 因而得出系统稳定的结论 ii find 条件式 例如 给出控制系统闭环传递函数为 num 3 2 1 4 2 num 32142 den 3 5 1 2 2 1 den 351221 z p tf2zp num den z 0 4500 0 9870i0 4500 0 9870i 1 0000 0 5666p 1 60670 4103 0 6801i0 4103 0 6801i 0 4403 0 3673i 0 4403 0 3673I pzmap num den ii find real p 0 ii 23 n1 length ii n1 2 if n1 0 disp Systemisunstable with int2str n1 unstablepoles elsedisp Syatemisstable end Systemisunstable with2unstablepoles disp Theunstablepolesare disp p ii Theunstablepolesare 0 4103 0 6801i0 4103 0 6801i以上求出具体的零极点 画出零极点分布 明确指出系统不稳定 并指出引起系统不稳定的具体右根 8 Simulink仿真工具 如果控制系统的结构很复杂 则若不借助专用的系统建模软件 在过去很难准确地把一个控制系统的复杂模型输入给计算机 对之进行分析和仿真 1990年MathWorks软件公司为MATLAB提供了新的控制系统模型图形输入与仿真工具 命名为SIMULINK 这一名字的含义相当直观 SIMU 仿真 与LINK 连接 亦即可以利用鼠标器在模型窗口上 画 出所需的控制系统模型 然后利用SIMULINK提供的功能来对系统进行仿真或线性化 这种法的一个优点是 可以使得一个很复杂系统的输入变得相当容易且直观 Simulink工作平台 启动Simulink 通常有两种方法 1 在MATLAB命令窗口中直接输入Simulink命令 2 在MATLAB工具栏上单击Simulink按钮 如图所示 图7 1启动Simulink 这样就可打开了Simulink的SimulinkLibraryBrower 库模块浏览器 如图7 2所示 在菜单栏中执行File New Model命令 就建立了一个名为untitled的模型窗口 如图7 3所示 在建立了空的模块窗口后 用户可以在此窗口中创建自己需要的Simulink模型 图7 2库模块浏览器 图7 3新建的空白模块窗口 7 2Simulink的仿真原理 7 2 1Simulink仿真模块通常 Simulink仿真系统包括输入 Input 状态 states 和输出 Output 三个部分 输入模块 即信号源模块 包括常数字信号源和用户自定义信号 状态模块 即被模拟的系统模块 是系统建模的核心和主要部分 输出模块 即信号显示模块 它能够以图形方式 文件格式进行显示 注意 在设计一个模型时 必须先确定这三个部分的意 以及它们之间的联系 Simulink的仿真模型并非一定要完全包括这三个部分 它可以缺少其中一个或者两个 Simulink的状态模块可以是连续的 离散的 或者它们二者的结合 7 3 1连续模块库 Continuous 在连续模块 Continuous 库中包括了常见的连续模块 这些模块如图所示 7 3Simulink模块库 在库模块浏览器中单击Simulink前面的 号 就能够看到Simulink的模块库 如图7 2所示 4 传递函数模块 TransferFcn 功能 用执行一个线性传递函数 5 零极点传递函数模块 Zero Pole 功能 用于建立一个预先指定的零点 极点 并用延迟算子s表示的连续 6 存储器模块 Memory 功能 保持输出前一步的输入值 7 传输延迟模块 TransportDelay 功能 用于将输入端的信号延迟指定的时间后再传输给输出信号 8 可变传输延迟模块 VariableTransportDelay 功能 用于将输入端的信号进行可变时间的延迟 1 积分模块 Integrator 功能 对输入变量进行积分 说明 模块的输入可以是标量 也可以是矢量 输入信号的维数必须与输入信号保持一致 2 微分模块 Derivative 功能 通过计算差分 u t近似计算输入变量的微分 3 线性状态空间模块 State Space 功能 用于实现以下数学方程描述的系统 7 3 2离散模块库 Discrete 离散模块库 Discrete 主要用于建立离散采样的系统模型 包括的主要模块 如图所示 1 零阶保持器模块 Zero Order Hold 功能 在一个步长内将输出的值保持在同一个值上 2 单位延迟模块 UnitDelay 功能 将输入信号作单位延迟 并且保持一个采样周期相当于时间算子z 1 3 离散时间积分模块 DiscreteTimeIntegrator 功能 在构造完全离散的系统时 代替连续积分的功能 使用的积分方法有 向前欧拉法 向后欧拉法 梯形法 4 离散状态空间模块 DiscreteStateSpace 功能 用于实现如下数学方程描述的系统 5 离散滤波器模块 DiscreteFilter 功能 用于实现无限脉冲响应 IIR 和有限脉冲响应 FIR 的数字滤波器 6 离散传递函数模块 DiscreteTransferFcn 功能 用于执行一个离散传递函数 7 离散零极点传递函数模块 DiscreteZero Pole 功能 用于建立一个预先指定的零点 极点 并用延迟算子z 1表示的离散系统 8 一阶保持器模块 FirstOrderHold 功能 在一定时间间隔内保持一阶采样 7 3 4数学模块库 Math 数学模块库 Math 包括多个数学运算模块 如图7 8所示 3 矢量的点乘模块 DotProduct 功能 矢量的点乘模块 DotProduct 用于实现输入信号的点积运算 4 增益模块 Gain 功能 增益模块 Gain 的作用是把输入信号乘以一个指定的增益因子 使输入产生增益 1 求和模块 Sum 功能 求和模块 Sum 用于对多路输入信号进行求和运算 并输出结果 2 乘法模块 Product 功能 乘法模块 Product 用于实现对多路输入的乘积 商 矩阵乘法或者模块的转置等 5 常用数学函数模块 MathFunction 功能 用于执行多个通用数学函数 其中包含exp log log10 square sqrt pow reciprocal hypot rem mod等 6 三角函数模块 TrigonometricFunction 功能 用于对输入信号进行三角函数运算 共有10种三角函数供选择 7 特殊数学模块特殊数学模块中包括求最大最小值模块 MinMax 取绝对值模块 Abs 符号函数模块 Sign 取整数函数模块 RoundingFunction 等 8 数字逻辑函数模块数字逻辑函数模块包括复合逻辑模块 CombinationalLogic 逻辑运算符模块 LogicalOperator 位逻辑运算符模块 BitwiseLogicalOperator 等 9 关系运算模块 RelationalOperator 关系符号包括 等于 不等于 大于 大于等于 等 10 复数运算模块复数运算模块包括计算复数的模与幅角 ComplextoMagnitude Angle 由模和幅角计算复数 Magnitude AngletoComplex 提取复数实部与虚部模块 ComplextoRealandImage 由复数实部和虚部计算复数 RealandImagetoComplex 7 3 7信号输出模块 Sinks 信号输出模块 Sinks 包括的主要模块如图7 12所示 图7 12输出显示模块库 1 示波器模块 Scope 功能 显示在仿真过程中产生的输出信号 用于在示波器中显示输入信号与仿真时间的关系曲线 仿真时间为x轴 2 二维信号显示模块 XYGraph 功能 在MATLAB的图形窗口中显示一个二维信号图 并将两路信号分别作为示波器坐标的x轴与y轴 同时把它们之间的关系图形显示出来 3 显示模块 Display 功能 按照一定的格式显示输入信号的值 可供选择的输出格式包括 short long short e long e bank等 4 输出到文件模块 ToFile 功能 按照矩阵的形式把输入信号保存到一个指定的MAT文件 第一行为仿真时间 余下的行则是输入数据 一个数据点是输入矢量的一个分量 5 输出到工作空间模块 ToWorkspace 功能 把信号保存到MATLAB的当前工作空间 是另一种输出方式 6 终止信号模块 Terminator 功能 中断一个未连接的信号输出端口 7 结束仿真模块 Stopsimulation 功能 停止仿真过程 当输入为非零时 停止系统仿真 7 3 8信号源模块库 Sources 信号源模块库 Sources 包括的主要模块如图7 13所示 图7 13信号源模块库 1 输入常数模块 Constant 功能 产生一个常数 该常数可以是实数 也可以是复数 2 信号源发生器模块 SignalGenerator 功能 产生不同的信号 其中包括 正弦波 方波 锯齿波信号 3 从文件读取信号模块 FromFile 功能 从一个MAT文件中读取信号 读取的信号为一个矩阵 其矩阵的格式与ToFile模块中介绍的矩阵格式相同 如果矩阵在同一采样时间有两个或者更多的列 则数据点的输出应该是首次出现的列 4 从工作空间读取信号模块 FromWorkspace 功能 从MATLAB工作空间读取信号作为当前的输入信号 5 随机数模块 RandomNumber 功能 产生正态分布的随机数 默认的随机数是期望为0 方差为1的标准正态分布量 6 带宽限制白噪声模块 BandLimitedWhiteNoise 功能 实现对连续或者混杂系统的白噪声输入 7 其它模块除以上介绍的常用模块外 还包括其模块 各模块功能可通过以下方法查看 先进入Simulink工作窗口 在菜单中执行Help SimulinkHelp命令 这时就会弹出Help界面 然后用鼠标展开UsingSimulink BlockReference SimulinkBlockLibraries就可以看到Simulink的所有模块 查看相应的模块的使用方法和说明信息即可 7 4仿真模型的建立与模块参数与属性的设置 1 仿真模块的建立首先启动Simulink命令 建立一个空的模块窗口 untitled 然后利用Simulink提供的模块库 在

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论