生物建模与仿真-Simmulink
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
15
实例3——简单系统的动态仿 真技术
建立以下简单系统的仿真分析
其中, 为系统输入, 为系统输出。
16
仿真设计与仿真结果
简单系统的动态仿真技术
问题:系统仿真输出曲线不平滑 原因:仿真步长太大。 Simmulink中默认仿真步长的计算公式: 解决方案:修改max step size,限制最大仿真步长。
绝对误差:积分误差的绝对值。
相对误差:绝对误差除以状态的值。
Continuous连续系统模块库
连续信号的数值微分
输入信号的连续时间积分
线性连续系统的状态空间模型描述 线性连续系统的传递函数描述 输入信号的固定时间延迟 输入信号的可变时间延迟 输入信号的传输延迟
线性连续系统的零级点描述 35
Simulink建模软件平台
1
主要参考文献
李颖主编,Simulink动态系统建模与仿真(第二版),西安电子科 技大学,2009。 姚俊、马松辉编著,Simulink建模与仿真,西安电子科技大学出版 社,2002。
2
实际系统、模型和仿真的关系
建模:通过对实际系统的观测和检测,在忽略次要因素及不可检测变量的基 础上,用数学的方法进行描述从而获得实际系统的简化近似模型。 仿真:主要研究计算机的程序实现与模型之间的关系,其程序能为计算机所 接受并在计算机上运行。
快捷方式
单击Matlab主窗口工具栏上的simulink快捷图标
6
Simmulink模块库简介
常用模块库 连续系统模块库 不连续系统模块库 离散系统模块库 逻辑和位操作模块库 查表模块库 数学运算模块库 针对模型的实用模块库
端口与子系统模块库
信号特征模块库 信号路由模块库 输出方式模块库 输入源模块库
仿真结果
连续系统模型
定义:
系统输出连续变化,变化的间隔为无穷小量, 对系统的数学描述来说,存在系统输入或输出的微分 项(导数项) 系统具有连续的状态。
28
连续系统的仿真分析
连续系统与简单系统的区别:
简单系统不涉及到输入或输出的导数 连续系统中存在输入或输出的导数
仿真实例——蹦极跳系统仿真
线性和非线性系统、连续和离散时间模型(两者混合)、多采样率系统(用于不同采样 率的子系统)
图形化的用户界面(GUI)
用鼠标点击、拖拉模块图标建模
5
Simulink的启动
菜单方式
Matlab主菜单,选择File → New → Model
命令方式
在Matlab命令窗口中键入simulink
18
结果对比
限制步长前 限制步长后
离散系统模型
定义
系统非连续,以一定时间间隔采样; 系统的输出不仅依赖于系统当前输入,还依赖于系统 以往的输入与输出(要给离散系统设定合适的初值);
离散系统
20
实例4——离散系统的仿真分 析
人口变化系统模型
设某一年的人口数目为 p(n),其中 n 表示年份,它与上一年的人口 p(n-1)、人口繁 殖速率 r 以及新增资源所能满足的人体数目 K 之间的动力学方程为:
12
仿真设计和仿真结果
动态系统模型
简单系统模型 ቤተ መጻሕፍቲ ባይዱ散系统模型 连续系统模型 混杂系统模型
简单系统模型
定义:
系统某一时刻的输出直接且唯一依赖于该时刻的输入 量 系统对同样的输入,其输出响应不随时间的变化而变 化 系统中不存在输入的状态量,即系统输入的微分项
举例:
m mg bx a 1 x a 2 x x x
连续系统的仿真分析
设桥梁距离地面为50m,蹦极者的起始位置为绳索的长度-30m,起始速度 为0,即 ,其余参数分别为k=20, a1=a2=1, m=70 kg, g=10m/s2。 x 0 0 要求:建立并蹦极跳系统的仿真模型,并在如上的参数下对系统进行仿 真,分析此蹦极跳系统对体重为70kg的蹦极者而言是否安全。
对于离散信号 ,其Z变换为: 线性性: 设离散信号 的Z变换为 ,则
的Z变换为
23
线性离散系统
举例:对于线性离散系统 Z变换后的系统为: 系统函数为: 滤波器模型: 传递函数模型: 零极点模型:
Simulink表示: num = [n0 n1 n2] den = [d0 d1]
Simulink表示:gain = K; zeros = [z1, z2] ; poles = [0, p1]
9
仿真设计和仿真结果
仿真程序应用实例二:信号平方 运算
系统的功能是对输入信号进行平方运算。 要求:建立系统的Simulink模型并进行简单的仿真分 析
系统输入信号源:幅值为2的正弦波。 使用Scope显示原始信号和结果信号。
11
仿真程序应用实例二:信号平方 运算
步骤:
选择所需要的模块并连接系统模块。 选择一个包含Product和Mux块的区域,建立相应地子系统。 设置标签,调整格式,增加系统视觉可读性。 保存模型。 设置模块参数和仿真参数。 系统仿真。 结果分析。
24
仿真应用实例5——数字滤波器
数字低通滤波器,其差分方程描述为: y n 1 . 6 y n 1 0 . 7 y n 2 0 . 04 u n 0 . 08 u n 1 0 . 04 u n 2 其Z变换域描述为: Y z 0 . 04 0 . 08 z 0 . 04 z 仿真场景:
人口初始值 p(n)=100000,人口繁殖速率 r=1.05,新增资源所能满足的个体数目 K=1000000,要求建立此人口动态变化系统的系统模型,并分析人口数目在0至 100年之间的变化趋势。
21
仿真设计和仿真结果
线性离散系统
定于离散系统
齐次性: 叠加性:
,系统为线性需满足:
数学描述:通常采用Z变换:
使用工作空间变量作为系统输入信号
Sources中的From Workspace模块
向量与矩阵
上述各项操作也适用于向量和矩阵运算
8
仿真程序应用实例一
系统的输入为一个正弦波信号,输出为正弦波信号与常数乘积 系统输入: 系统输出: 步骤: (1)调用所需的系统模块; Source Sine Wave Math Gain Sink Scope
蹦极者系着一根弹力绳从高处的桥梁向下跳。其下落过程由以 下两种状态决定:
一是蹦极者的自由落体运动:
m mg a 1 x a 2 x x x 二是弹性绳索对落体位置的影响:
kx , x 0 整个蹦极跳系统的数学描述为: bx x 0 0,
1 2
U z 1 1 .6 z 0 .7 z 简单通信系统:发送方首先使用高频正弦波对一低频锯齿波进行幅度调制,然
1 2
后在无损信道中传递此幅度调制信号;接收方在接收到幅度调制信号后,首先 对其进行解调,然后使用低通滤波器对解调后的信号进行滤波以获得低频锯齿 波信号。
仿真设计:
实际系统
计算机
建模
模型
仿真
3
仿真三要素
对仿真问题的描述
仿真问题
建模
实验
仿真运行 控制
模型
行为产生器
一套对模型进行实验的软件
参数模型
参数值
实验框架
模型行为及其处理
轨迹行为、点行为、结构行为
实验 分析
4
什么是Simulink?
Simulink = Simulation + Link Matlab中用来对动态系统进行建模、仿真和分析的软件包 支持多元化系统集成:
用户自定义模块库
其它数学和离散模块库
模型验证模块库
7
Simulink和Matlab的接口设计
Matlab工作空间中的变量可直接设置为系统模块参数。
直接使用Matlab工作空间中的变量设置模块参数; 使用变量的表达式设置模块参数
将信号输出到Matlab工作空间中
定量分析,用Sinks中的To Workspace模块
m mg b ( x ) a 1 x a 2 x x x
kx , x 0 bx x 0 0,
连续系统的仿真分析
仿真结果:
仿真精度
连续系统的基础是微分方程,由于Matlab对微分方程只能进 行数值求解以获得近似结果,因此,使用Simulink连续求解器 对具有连续状态的连续系统进行仿真时,存在一定的误差。 定步长连续求解器:效率高,无法控制积分误差。 变步长连续求解器:可以控制积分误差,但可能降低效率。