MATLAB/Simulink系统仿真图书
人气:13

MATLAB/Simulink系统仿真

博学MATLAB与Simulink专家执笔,系统归纳和总结了智能算法的实战经验!书中提供了几十个系统仿真的典型实例,可以二次开发!MathWorks图书计划!8位MATLAB专家联袂推荐!MathWo
  • 所属分类:图书 >计算机/网络>程序设计>其他  
  • 作者:[李献]、[骆志伟]、[于晋臣]
  • 产品参数:
  • 丛书名:科学与工程计算技术丛书
  • 国际刊号:9787302467403
  • 出版社:清华大学出版社
  • 出版时间:2017-08
  • 印刷时间:2017-07-01
  • 版次:1
  • 开本:32开
  • 页数:--
  • 纸张:胶版纸
  • 包装:平装-胶订
  • 套装:

内容简介

本书在MATLAB 2016a的基础上由浅入深地讲解了MATLAB/Simulink软件的知识,内容涉及面广、涵盖了用户需要使用的各种功能。本书编排合理,自始至终采用实例描述; 内容完整且各章相对独立,是一本具有参考价值的MATLAB/Simulink参考书。 本书分为三大部分共16章。部分主要介绍了MATLAB基础知识、Simulink仿真入门、Simulink模型建立与仿真以及Simulink常用命令库等; 第二部分主要介绍SFunction的应用、控制系统仿真和PID控制仿真等; 第三部分则涉及Simulink高级应用,包括模糊逻辑控制、电力系统仿真、通信系统仿真、神经网络控制仿真、滑模控制、车辆系统仿真、群智能算法仿真和图像处理仿真等。 本书以工程应用为目标,深入浅出,实例引导,讲解翔实,适合作为理工科高等院校本科生和研究生的教学用书,也可作为广大科研工程技术人员的参考用书。

编辑推荐

(1) 博学作者编著,图书质量更有保障:一线博学工程师执笔,系统归纳和总结了智能算法的实战经验。(2) 提供配套源码,便于读者动手实践:理论必须联系实践,本书提供源代码下载,方便读者学习使用。(3) 内含丰富实例,利于读者二次开发:书中提供了十几个智能算法的典型实例,读者可以据此二次开发。(4) 提供配套课件,便于教师备课使用:配套提供了完整的教学课件资料,便于广大教师备课使用。配套学习资源下载地址为清华大学出版社网站本书页面。系列畅销图书如下:MATLAB 编程指南——计算、编程、仿真、算法及应用MATLAB/Simulink系统仿真MATLAB GUI程序设计MATLAB智能算法MATLAB数学建模MATLAB科学计算MATLAB信号处理MATLAB图像处理

作者简介

李献 毕业于中国科学院研究生院,博士学位,硕士毕业于华中科技大学。毕业后留在中科院电工研究所应用超导重点实验室工作。主要从事电磁推进、脉冲强磁场以及脉冲功率电源的相关研究工作。在国内外期刊多篇,出版多部畅销图书。

目录

目录

第1章MATLAB基础知识

1.1MATLAB简介

1.2MATLAB的通用命令

1.2.1MATLAB菜单说明

1.2.2MATLAB路径设置

1.2.3MATLAB系统常量说明

1.2.4MATLAB程序注解符说明

1.3MATLAB的计算基础

1.3.1MATLAB的预定义变量

1.3.2常用运算和基本数学函数

1.3.3数值的输出格式

1.4MATLAB程序设计基础

1.4.1MATLAB基本程序设计

1.4.2MATLAB程序控制语句的运用

1.5MATLAB的绘图功能

1.5.1离散数据图形绘制

1.5.2函数图形绘制

1.5.3网格图绘制

1.5.4曲面图的绘制

1.5.5特殊图形绘制

1.6微积分问题的MATLAB求解

1.6.1符号微积分

1.6.2微分方程的数值解

1.6.3龙贝格积分法微积分运算

1.6.4有限差分方法求边值问题

1.6.5样条函数求积分

1.6.6常微分方程符号解

1.7非线性方程与线性规划问题求解

1.7.1非线性方程组求解

1.7.2无约束化问题求解

1.7.3线性规划问题

1.7.4二次型规划问题

1.8本章小结

第2章Simulink仿真入门

2.1Simulink基本操作

2.1.1运行Simulink

2.1.2Simulink模块库

2.1.3Simulink模块的操作

2.2运行仿真及参数设置简介

2.2.1模型的创建

2.2.2模块的连接与简单处理

2.2.3仿真参数设置简介

2.3子系统及其封装

2.3.1创建子系统

2.3.2使能子系统

2.3.3触发子系统

2.3.4使能触发子系统

2.3.5封装子系统

2.4用MATLAB命令创建和运行Simulink模型

2.4.1创建Simulink模型与文件

2.4.2添加模块和信号线

2.4.3设置模型和模块属性

2.4.4仿真

2.5本章小结

第3章Simulink模型的建立与仿真

3.1Simulink模块库简介

3.2信号源模块组

3.2.1Clock模块

3.2.2Digital Clock模块

3.2.3Constant模块

3.2.4BandLimited White Noise模块

3.2.5Chirp Signal模块

3.2.6Sine Wave模块

3.2.7Pulse Generator模块

3.2.8Random Number模块

3.2.9Step模块

3.2.10Uniform Random Number模块

3.3连续模块组

3.3.1Derivative模块

3.3.2Integrator模块

3.3.3Transfer Fcn模块

3.3.4Transport Delay模块

3.3.5ZeroPole模块

3.3.6StateSpace模块

3.4离散模块组

3.4.1Discrete Transfer Fcn模块

3.4.2Discrete Filter模块

3.4.3Unit Delay模块

3.4.4Memory模块

3.4.5Discrete ZeroPole模块

3.4.6Discrete StateSpace模块

3.4.7ZeroOrder Hold模块

3.5查表模块组

3.5.11D Lookup Table模块

3.5.22D Lookup Table模块

3.6用户自定义函数模块组

3.6.1Fcn模块

3.6.2MATLAB Fcn模块

3.6.3SFunction模块

3.7数学运算模块组

3.7.1Abs模块

3.7.2Add模块

3.7.3Divide模块

3.7.4Dot Product模块

3.7.5Gain模块

3.7.6Complex to MagnitudeAngle模块

3.7.7MagnitudeAngle to Complex模块

3.8非线性模块组

3.8.1Backlash模块

3.8.2Coulomb & Viscous Friction模块

3.8.3Dead Zone模块

3.8.4Quantizer模块

3.8.5Rate Limiter模块

3.8.6Saturation模块

3.9信号与系统模块组

3.9.1Bus Selector模块

3.9.2Bus Creator模块

3.9.3Mux模块

3.9.4Demux模块

3.9.5Data Store Memory模块

3.9.6Data Store Read模块

3.9.7Data Store Write模块

3.9.8Enable模块

3.9.9Ground模块

3.10本章小结

第4章Simulink常用命令库分析

4.1Simulink中常用的模块库

4.2Simulink命令代码

4.2.1Simulink系统路径

4.2.2获取Simulink模型参数值

4.3Simulink系统创建命令

4.3.1simulink命令

4.3.2simulink3命令

4.3.3find_system命令

4.3.4new_system命令

4.3.5open_system命令

4.3.6save_system命令

4.3.7bdclose命令

4.4Simulink模型模块操作命令

4.4.1add_block命令

4.4.2delete_block命令

4.4.3add_line命令

4.4.4delete_line命令

4.4.5replace_block命令

4.5获取Simulink文件路径

4.5.1gcb命令

4.5.2gcbh命令

4.5.3gcs命令

4.5.4bdroot命令

4.6获取Simulink模型参数命令

4.6.1get_param命令

4.6.2set_param命令

4.7Simulink代码建模

4.8本章小结

第5章基于Simulink的S函数建模

5.1Simulink S函数仿真应用

5.1.1Simulink S函数仿真过程

5.1.2S函数的回调方法

5.2Mfile S函数应用

5.3Mfile S函数模板

5.3.1S函数工作方式

5.3.2S函数仿真过程

5.3.3S函数的编写

5.3.4M文件S函数的模块化

5.4Mfile S函数实现

5.5本章小结

第6章控制系统Simulink仿真

6.1控制系统频域分析

6.1.1频率特性的定义

6.1.2频率特性和传递函数的关系

6.1.3频率特性的图形表示方法

6.2幅相频率特性

6.2.1比例环节

6.2.2微分环节

6.2.3积分环节

6.2.4惯性环节

6.2.5一阶复合微分环节

6.2.6二阶振荡环节

6.2.7二阶复合微分环节

6.2.8延迟环节

6.2.9开环系统的幅相特性曲线

6.3对数频率特性

6.3.1比例环节

6.3.2微分环节

6.3.3积分环节

6.3.4惯性环节

6.3.5一阶复合微分环节

6.3.6二阶振荡环节

6.3.7二阶复合微分环节

6.3.8延迟环节

6.4开环系统的Bode图

6.5最小相角系统和非最小相角系统

6.6奈奎斯特频域稳定判据

6.7频域对数稳定判据

6.8稳定裕度

6.8.1稳定裕度的定义

6.8.2稳定裕度的计算

6.9本章小结

第7章基于PID的Simulink控制系统仿真

7.1PID控制原理

7.2基于PID的控制仿真

7.3基于S函数的PID控制系统仿真

7.4基于PID的倒立摆小车控制仿真

7.5本章小结

第8章模糊逻辑控制仿真

8.1模糊逻辑概述

8.1.1高斯型隶属函数

8.1.2三角形隶属函数

8.2模糊逻辑控制箱图形界面

8.2.1基本FIS编辑器

8.2.2隶属函数编辑器

8.2.3绘制FIS

8.2.4设置模糊系统属性

8.2.5规则编辑器和语法编辑器

8.2.6规则观察器和模糊推理框图

8.3模糊聚类分析

8.3.1FIS曲面

8.3.2FIS结构

8.3.3模糊均值聚类

8.3.4模糊聚类工具箱

8.4模糊与PID控制器仿真设计

8.4.1模糊逻辑工具箱

8.4.2PID控制

8.4.3模糊控制器设计

8.4.4模糊与PID控制仿真

8.5本章小结

第9章Simulink在电力系统中的应用

9.1同步发电机原理分析

9.2简化同步电机模块使用

9.3同步电机模块使用

9.4负荷模型

9.4.1静态负荷模块

9.4.2三相动态负荷模块

9.5异步电动机模块

9.6直流电机模块

9.7本章小结

第10章电力系统稳定性分析

10.1Powergui模块

10.1.1仿真类型

10.1.2分析工具

10.2二极管模块

10.3晶闸管模块

10.4电力系统稳态仿真

10.4.1连续系统仿真

10.4.2离散系统仿真

10.5电力系统电磁暂态仿真

10.5.1断路器模块

10.5.2三相断路器模块

10.5.3三相故障模块

10.5.4暂态仿真分析

10.6本章小结

第11章通信系统仿真设计

11.1通信系统仿真概述

11.2信源与信道模型

11.2.1随机数产生器

11.2.2泊松分布产生器

11.2.3伯努利二进制信号产生器

11.2.4加性噪声产生器

11.3滤波器分析

11.4调制与解调

11.4.1基带模型与调制通带分析

11.4.2解调与模拟调制模型分析

11.4.3数字调制解调器模型分析

11.5本章小结

第12章神经网络控制

12.1神经网络简介

12.2人工神经元模型

12.3神经网络的学习规则

12.4MATLAB神经网络工具箱

12.5基于BP神经网络的PID自适应控制

12.6基于Simulink的神经网络模块仿真

12.6.1模块的设置

12.6.2模块的生成

12.7基于Simulink的神经网络控制系统

12.8反馈线性化控制

12.9本章小结

第13章滑模控制

13.1基于名义模型的滑模控制

13.1.1名义控制系统结构

13.1.2基于名义模型的控制

13.1.3基于名义模型的滑模控制器的设计

13.1.4基于名义模型的滑模控制仿真

13.2全局滑模控制

13.2.1全局滑模控制系统

13.2.2全局滑模控制器的设计

13.2.3基于全局滑模控制的仿真

在线预览

第3章Simulink模型的建立与仿真

Simulink是MATLAB的仿真工具箱,它是面向框图的仿真软件。Simulink能用绘制方框图代替程序,结构和流程清晰; 利用Simulink可智能化地建立和运行仿真,仿真精细、贴近实际。Simulink适应面广。可应用于线性、非线性系统,连续、离散及混合系统,以及单任务、多任务离散事件系统。采用Simulink模块库能够方便地进行模型的编辑和仿真构建。学习目标: (1) 学习Simulink基本库原件; (2) 学习Simulink各模块的使用; (3) 学习Simulink各模块的参数配置; (4) 学习使用Simulink各模块搭建仿真框图。3.1Simulink模块库简介在MATLAB命令行窗口输入simulink,打开Simulink工具箱,进行Simulink工具箱模块库的学习。Simulink模块库很庞大,以下将主要介绍常规的Simulink应用模块,包括信号源模块组、连续模块组、离散模块组、查表模块组、用户自定义函数模块组、数学运算模块组、非线性模块组、输出池模块组、信号与系统模块组、子系统模块组、常用模块组、其他工具箱与模块集等。3.2信号源模块组Simulink模块库中提供了丰富的信号源模块组,下面逐一介绍。3.2.1Clock模块时钟模块以及时钟模块的属性如图31所示。

图31时钟模块

时钟模块如图31所示,在Simulink仿真中,时钟模块主要用于计时,效果很直观。在时钟模块的属性窗口中: (1) Display time: 如果该复选框被选中,则该时钟模块在仿真过程中,界面将显示时间,如果不显示,则可将其输入到工作区中。(2) Decimation: 默认为10,Decimation的数值可以为任意整数,在仿真过程中,随着时钟不断地更新,其数值不断增加,例如对于10s的仿真,系统Decimation默认为10,则表示系统将以1s、2s、3s、…、10s依次递增。搭建时钟模块如图32所示。运行仿真文件,输出结果如图33所示。

图32时钟使用

图33时钟模块示波器时钟变化图

3.2.2Digital Clock模块数字时钟模块以及数字时钟模块的属性如图34所示。

图34数字时钟模块

图35Digital Clock模块使用

在Simulink仿真中,数字时钟模块主要用于离散系统的计时,该模块能够输出保持前一次的值不变。对于其属性窗口: Sample time表示采样时间,默认值为1s。搭建Digital Clock模块如图35所示。运行仿真文件,输出结果如图36所示。

图36Digital Clock模块示波器时钟变化图

3.2.3Constant模块Constant模块,表示常数输入,其模块属性如图37所示。

图37Constant模块

在Simulink仿真中,常数模块主要用在输入的量为定值的情况。对于其属性窗口: (1) Constant value: 表示常数值,由用户指定。(2) Sample time: 表示采样时间,默认值为inf,也可以设置为与系统的采样时间相一致。搭建Constant模块如图38所示。

图38Constant模块使用

运行仿真文件,输出结果如图39所示。

图39Constant模块示波器时钟变化图

3.2.4BandLimited White Noise模块BandLimited White Noise模块产生服从正态分布的随机数,用于混合系统或者连续系统,用户可以采样该模块产生比系统最小时间常数更小的相关时间的随机序列来模拟白噪声的效果,通常噪声的相关时间t可计算如下:

t=2π100fmax

其中,fmax(rad/s)表示系统的带宽。采用时间t作为换算因子,保障了一个连续系统对我们需要近似模拟的白噪声应具有的系统方差(系统噪声),BandLimited White Noise模块属性如图310所示。

图310BandLimited White Noise模块

对于其属性窗口: (1) Noise power: 表示白噪声PSD的幅度,默认值为0.1。(2) Sample time: 表示采样时间,默认值为0.1。(3) Seed: 表示随机数信号发生器的初始种子,默认值为[23341]。搭建BandLimited White Noise模块如图311所示。

图311BandLimited White Noise模块使用

运行仿真文件,输出结果如图312所示。

图312BandLimited White Noise模块示波器时钟变化图

3.2.5Chirp Signal模块Chirp Signal模块产生频率随时间线性增加的正弦信号,即调频信号,该模块可用于非线性系统的谱分析,且以矢量或标量输出。Chirp Signal模块的模块属性如图313所示。

图313Chirp Signal模块

对于其属性窗口: (1) Initial frequency(Hz): 表示信号的初始化频率,指定为标量或矢量,默认值为0.1。(2) Target time(secs): 表示频率变化的较大时间,默认值为100。(3) Frequency at target time(Hz): 表示对应目标时间的信号频率,输入为矢量或标量,默认值为1。搭建Chirp Signal模块如图314所示。

图314Chirp Signal模块使用

运行仿真文件,输出结果如图315所示。

图315Chirp Signal模块示波器时钟变化图

3.2.6Sine Wave模块Sine Wave正弦波模块,产生如下形式的正弦波:

f(t)=Amp sin(Freq t Phase) Bias

其中,Amp为正弦波振幅,Freq为正弦波的频率,Phase为初始相位,Bias为正弦波上下移动的常量。Sine Wave正弦波的模块属性如图316所示。

图316Sine Wave正弦波模块

对于其属性窗口: (1) Amplitude: 表示正弦信号的振幅,指定为标量或矢量,默认值为1。(2) Bias: 表示正弦信号离0均值线的偏移量,默认值为0。(3) Frequency(rad/sec): 表示对应目标信号频率,输入为矢量或标量,默认值为1。(4) Phase(rad): 表示信号的初始相位,默认值为0。(5) Sample time: 表示系统采样时间。(6) Inter vector parameters as 1D: 该复选框可以选中,也可以不选,选中表示信号按照一行的数据矢量进行输出; 不勾选,则信号以列向量存储。搭建Sine Wave模块如图317所示。

图317Sine Wave模块使用

运行仿真文件,输出结果如图318所示。

图318Sine Wave模块示波器时钟变化图

3.2.7Pulse Generator模块Pulse Generator模块产生等间隔的脉冲波形,脉冲宽度就是脉冲持续高电平期间的数字采样周期数,脉冲周期等于脉冲持续高电平、低电平的数字采样周期之和,相位延迟则是起始脉冲所对应的数字采样周期数。Pulse Generator的模块属性如图319所示。

图319Pulse Generator模块

对于其属性窗口: (1) Amplitude: 表示脉冲信号的振幅,指定为标量或矢量,默认值为1。(2) Period(secs): 表示脉冲数字采样周期,默认值为10。(3) Pulse width(%of period): 表示脉冲宽度,输入为矢量或标量,默认值为5。(4) Phase delay(secs): 表示信号的相位延迟,默认值为0。(5) Inter vector parameters as 1D: 该复选框可以选中,也可以不选,选中表示信号按照一行的数据矢量进行输出; 不勾选,则信号以列向量存储。搭建Pulse Generator模块如图320所示。

图320Pulse Generator模块使用

运行仿真文件,输出结果如图321所示。

图321Pulse Generator模块示波器时钟变化图

3.2.8Random Number模块Random Number模块产生服从正态分布的随机信号,在每次仿真开始时,种子都设置为指定的值,默认的情况下,产生方差为1、均值为0的随机信号。如果想获得均匀分布的随机信号,则可以使用Uniform Random Number模块; 如果仿真器对于比较平滑的信号能够积分,那么对于随机波动的信号进行积分运算,则需要采用BandLimited White Noise信号。Random Number的模块属性如图322所示。对于其属性窗口: (1) Mean: 表示随机信号的均值,指定为标量或矢量,默认值为0。(2) Variance: 表示随机信号的方差,默认值为1。(3) Seed: 表示随机种子,输入为矢量或标量,默认值为0。(4) Sample time: 表示信号的采样时间,默认值为0.1。搭建Random Number模块如图323所示。运行仿真文件,输出结果如图324所示。

图322Random Number模块

图323Random Number模块使用

图324Random Number模块示波器时钟变化图

3.2.9Step模块Step模块产生阶跃信号,Step常用于控制系统仿真中,用于测试系统的稳定性和敛散性。Step模块在指定时间产生一个可定义上、下电平的阶跃信号,Step产生一个矢量或标量进行输出。Step的模块属性如图325所示。

图325Step模块

对于其属性窗口: (1) Step time: 表示初始阶跃的时间,指定为标量或矢量,系统默认值为1。(2) Initial value: 表示仿真的初始时间,系统默认值为0。(3) Final time: 表示仿真的结束时间,输入为矢量或标量,系统默认值为1。(4) Sample time: 表示信号的采样时间,系统默认值为0。搭建Step模块如图326所示。运行仿真文件,输出结果如图327所示。

图326Step模块使用

图327Step模块示波器时钟变化图

3.2.10Uniform Random Number模块Uniform Random Number模块产生在整个指定时间周期内均匀分布的随机信号,信号的起始种子可由用户指定。将Seed种子指定为矢量,可以产生矢量随机数序列。Uniform Random Number的模块属性如图328所示。

图328Uniform Random Number模块

对于其属性窗口: (1) Minimum: 表示时间间隔的最小值,指定为标量或矢量,系统默认值为-1。(2) Maximum: 表示时间间隔的较大值,指定为标量或矢量,系统默认值为1。(3) Seed: 表示随机序列发生器的初始种子,输入为矢量或标量,系统默认值为0。(4) Sample time: 表示信号的采样时间,系统默认值为0.1。搭建Uniform Random Number模块如图329所示。运行仿真文件,输出结果如图330所示。

图329Uniform Random Number

模块使用

图330Uniform Random Number模块示波器

时钟变化图

3.3连续模块组连续模块仿真主要用于系统的积分分析。对于一个系统而言,传递函数的构建显得尤为重要。3.3.1Derivative模块Derivative模块表示微分环节,为时间的一阶导数ΔuΔt,其中,Δu为输入的变化量,Δt为前两次仿真时间点之差。Derivative模块的仿真精度取决于时间步长Δt,步长越小,结果越平滑,相应的结果越。如果输入为离散信号,当输入变化时,输入的连续导数是冲击信号,否则为0。为得到离散型系统的离散导数,可采用

y(k)=1Δt[u(k)-u(k-1)]

相应的Z变换为

Y(z)u(z)=1-z-1Δt=z-1Δt z

Derivative的模块属性如图331所示。

图331Derivative模块

对于其属性窗口: Coefficient c in the transfer function approximation s/(cs 1) used for linearization表示步长的设置,指定为标量或矢量,默认值为inf(无穷大)。搭建Derivative模块如图332所示。运行仿真文件,输出结果如图333所示。

图332Derivative模块使用

图333Derivative模块示波器时钟变化图

3.3.2Integrator模块Integrator模块表示积分环节,为时间的一阶导数∫udt,其中,u为输入的变化量,dt为前两次仿真时间点之差。Integrator的模块属性如图334所示。

图334Integrator模块

对于其属性窗口: (1) External reset: 设置信号的触发事件(rising、falling、either、level、level hold和none),默认设置为none,即保持系统原态。(2) Initial condition source: 表示参数输入的状态,分为外部输入external和内部输入internal,通常默认设置为internal。(3) Initial condition: 表示状态的初始条件,用于设置Initial condition source的参数。(4) Limit output: 若选中,则可以设置积分的上界(Upper saturation limit)和下界(Lower saturation limit)。(5) Upper saturation limit: 表示积分上界,默认值为inf。(6) Lower saturation limit: 表示积分下界,默认值为inf。(7) Show saturation port: 若选中,则表示模块增加一个饱和输出端口。(8) Show state port: 若选中,则表示模块增加一个输出端口。(9) Absolute tolerance: 表示模块状态的容限,默认值为auto。(10) Ignore limit and reset when linearizing: 若勾选此选项,则表示当系统为线性化系统时,前面的积分上下限制和触发事件无效,默认为不勾选。(11) Enable zerocrossing detection: 使系统通过零点检验,默认勾选。搭建Integrator模块如图335所示。运行仿真文件,输出结果如图336所示。

图335Integrator模块使用

图336Integrator模块示波器时钟变化图

3.3.3Transfer Fcn模块Transfer Fcn模块用于表征传递函数,具体的传递函数的表达式如下:

H(s)=y(s)u(s)=ansn an-1sn-1 … a1s a0bmsm bm-1sm-1 … b1s b0

其中,y(s)为系统输出,u(s)为系统输入,传递函数的计算则通过用户得到的系统模型而来,对于一个收敛性系统而言,分母中s的较高次幂大于分子中s的较高次幂。Transfer Fcn的模块属性如图337所示。

图337Transfer Fcn模块

对于其属性窗口: (1) Numerator coefficients: 表示传递函数分子系数,系统默认值为[1]。(2) Denominator coefficients: 表示传递函数分母系数,系统默认值为[1 1]。(3) Absolute tolerance: 表示模块状态的容限,默认值为auto。(4) State Name(e.g., 'position'): 表示状态空间的名字,用户可以不加以定义。搭建Transfer Fcn模块如图338所示。运行仿真文件,输出结果如图339所示。

图338Transfer Fcn模块使用

图339Transfer Fcn模块示波器时钟变化图

3.3.4Transport Delay模块Transport Delay模块用于延时系统的输入,延时的时间可以由用户指定。在仿真过程中,模块将输入点和仿真时间存储在一个缓冲器内,该缓冲器的容量由Initial buffer size参数指定。若输入点数超出缓冲器的容量,模块将配置额外的存储区。Transport Delay模块不能对离散信号进行插值计算,模块返回区间t-tdelay(当前时间减去时间延迟)对应的离散值。Transport Delay的模块属性如图340所示。

图340Transport Delay模块

对于其属性窗口: (1) Time delay: 表示系统延时量,系统默认值为1。(2) Initial output: 表示系统在开始仿真和Time delay之间产生的输出,系统默认值为0。(3) Initial buffer size: 表示储存点数的初始存储区配置,系统默认值为auto。(4) Use fixed buffer size: 储存点数的初始存储区配置为固定值,用户可以不加以定义。搭建Transport Delay模块如图341所示。运行仿真文件,输出结果如图342所示。

图341Transport Delay模块使用

图342Transport Delay模块示波器时钟变化图

3.3.5ZeroPole模块ZeroPole模块用于表征一个以Laplace算子s为变量的零点、极点和增益的系统,其传递函数可表示为:

H(s)=y(s)u(s)=ansn an-1sn-1 … a1s a0bmsm bm-1sm-1 … b1s b0

它的变形为以s为变量的零点、极点和增益的系统,如下:

H(s)=KZ(s)P(s)=K(s-Z(1))(s-Z(2))…(s-Z(n))(s-P(1))(s-P(2))…(s-P(m))

其中,Z代表零点; P为极点矢量; K为增益。ZeroPole模块的输入和输出宽度等于零点矩阵的行数。ZeroPole的模块属性如图343所示。

图343ZeroPole模块

对于其属性窗口: (1) Zeros: 表示系统传递函数零点向量,系统默认值为[1]。(2) Poles: 表示系统传递函数极点向量,系统默认值为[0 -1]。(3) Gain: 表示系统传递函数增益向量,系统默认值为[1]。(4) Absolute tolerance: 表示模块状态的容限,系统默认值为auto。(5) State Name(e.g., 'position'): 表示状态空间的名字,用户可以不加以定义。搭建ZeroPole模块如图344所示。运行仿真文件,输出结果如图345所示。

图344ZeroPole模块使用

图345ZeroPole模块示波器时钟变化图

3.3.6StateSpace模块StateSpace模块用于表征一个控制系统的状态空间,具体的状态空间的表达式如下:

x =Ax Bu

y=Cx Du

其中,x为状态矢量; u为输入矢量; y为输出矢量。StateSpace的模块属性如图346所示。

图346StateSpace模块

对于其属性窗口:

(1) A: 表示系统状态空间矩阵系数,必须是一个n×n矩阵,n为状态数,系统默认值为1。(2) B: 表示系统状态空间矩阵系数,必须是一个n×m矩阵,m为状态数,系统默认值为1。(3) C: 表示系统状态空间矩阵系数,必须是一个r×n矩阵,r为状态数,系统默认值为1。(4) D: 表示系统状态空间矩阵系数,必须是一个r×m矩阵,系统默认值为1。(5) Initial conditions: 表示初始状态矢量,系统默认值为0。(6) Absolute tolerance: 表示模块状态的容限,系统默认值为auto。(7) State Name(e.g., 'position'): 表示状态空间的名字,用户可以不加以定义。搭建StateSpace模块如图347所示。运行仿真文件,输出结果如图348所示。

图347StateSpace模块使用

图348StateSpace模块示波器时钟变化图

3.4离散模块组现实系统中有很多系统都是离散系统,系统根据采样时间点进行数据采集分析,Simulink中离散系统的表征主要是根据Z变换进行系统仿真建模。3.4.1Discrete Transfer Fcn模块对于Discrete Transfer Fcn模块,由通常的拉普拉斯变换后,得到相应的传递函数,再经过Z变换,得到离散系统传递函数,具体如下:

H(z)=num(z)den(z)=anzn an-1zn-1 … a0z0bmzm bm-1zm-1 … b0z0

其中,num(z)为离散系统传递函数的分子系数,den(z)为离散系统传递函数的分母系数。Discrete Transfer Fcn的模块属性如图349所示。

图349Discrete Transfer Fcn模块

对于其属性窗口: (1) Numerator: 表示系统分子系数矢量,系统默认值为[1]。(2) Denominator: 表示系统分母系数矢量,系统默认值为[1 2]。(3) Sample time(-1 for inherited): 表示系统采样时间,系统默认值为[-1]。(4) Initial states: 表示系统初始状态矩阵,系统默认值为0。搭建Discrete Transfer Fcn模块,设置采样时间为0.1s,如图350所示。运行仿真文件,输出结果如图351所示。

图350Discrete Transfer Fcn模块使用

图351Discrete Transfer Fcn模块示波器时

媒体评论

专家评论“科学与工程计算技术丛书”系列主题反映了MATLAB和Simulink汇集的领域——大规模编程、机器学习、科学计算、机器人等。我们高兴地看到“科学与工程计算技术丛书”支持MathWorks一直以来追求的目标:助您加速工程技术和科学研究。——Jim Tung (MathWorks Fellow) 《MATLAB/Simulink系统仿真》本书通过综合应用案例,透彻详尽的讲解了MATLAB/Simulink在各方面的应用。通过学习实际工程应用案例的具体操作,可以使读者快速的掌握MATLAB/Simulink系统仿真方法。——刘成龙(中国科学院) 《MATLAB/Simulink系统仿真》一书涉及面广,涵盖了一般用户需要使用的各种功能,并详细介绍了MATLAB/Simulink的使用。本书按逻辑编排,自始至终采用实例描述;内容完整且每章相对独立,是一本详细的MATLAB/Simulink参考书。——王 广(北京化工大学) 《MATLAB/Simulink系统仿真》全书结合作者多年MATLAB/Simulink使用经验与实际工程应用案例,将MATLAB/Simulink软件的使用方法与技巧到详细地讲解给读者。本书在讲解过程中步骤详尽、内容新颖,讲解过程辅以相应的图片,使读者在阅读时一目了然,从而快速掌握书中所讲内容。——温 正(航天科技集团某研究所) 过学习实际工程应用案例的具体操作是掌握MATLAB/Simulink好的方式。本书通过综合应用案例,透彻详尽的讲解了MATLAB/Simulink在各方面的应用。《MATLAB Simulink系统仿真》详细讲解了MATLAB/Simulink的基础知识和核心内容,围绕MATLAB/Simulink在工程问题中的应用进行仿真运算。对于从事Simulink开发的技术人员,该书具有较高的参考价值。——张 岩(北京航空航天大学) MATLAB/Simulink是用于动态系统和嵌入式系统的多领域仿真和基于模型的设计工具。《MATLAB/Simulink系统仿真》从MATLAB使用基础讲起,再辅以MATLAB/Simulink在工程中的应用案例,可以帮助读者尽快掌握MATLAB/Simulink进行工程应用分析的技能。——李 昕(天津光电集团) 《MATLAB/Simulink系统仿真》以MATLAB 2016a版为基础,由浅入深地讲解了MATLAB/Simulink软件的知识,内容涉及面广,涵盖了一般用户需要使用的各种功能。本书按逻辑编排,自始至终采用实例描述;内容完整且每章相对独立,是一本较为有参考价值的MATLAB/Simulink参考书。——付文利 (烽火通信集团)

免责声明

更多相关图书
在线咨询