一、Simulink简介
课程最主要讲解的Simulink最基础的模块库:
① 输入模块组 Sources
② 输出模块组 Sinks
③连续系统线性模块组 Continuous
④ 离散系统线性模块组 Discrete
⑤ 非线性模块 Discontinuities
⑥ 用户自定义模块 User-Define function
二、Simulink 建模与仿真举例
① Simulink的建模与仿真的步骤
建模步骤
打开模块库
打开空白窗口
将所需模块复制到模型窗口内
修改参数、连线
使用技巧——信号显示、模块连接、自动翻转
仿真步骤
仿真参数
启动仿真——修改参数再仿真
② sin积分的例子(点击右键下载testSIN.slx模型文件)
③ 非线性建模例子(点击右键下载modelexample52.slx模型文件)
三、微分方程的Simulink建模与求解
Rössler方程的几种求解方法
第一种:底层模块建模(点击右键下载c5mrossler.mdl模型文件):
1)先通过积分器构建关键信号x, x’, y, y’, z, z’
2)由关键信号连线,画出微分方程
3)微分方程的求解:仿真方法
简化模型,利用Fcn模块表达微分方程组右边的数学表达式,再用积分器搭建仿真循环计算。
第三种:(点击右键下载模型文件c5mross1.mdl) (点击右键下载c5mross.m)
用M函数表达微分方程组右边的数学表达式,在Simulink中通过用户自定义的MATLAB Function模块调用M函数,再用积分器搭建仿真循环计算。
上面三种求解方法的仿真文件中都包含输出端子(Out)可以通过,可以通过如下的语句在命令窗口或者脚本文件中进行调用求解:
也可以直接在模型窗口按开始仿真按钮进行求解,并用示波器等把结果显示出来(可点击右键下载三种方法综合在一起的模型文件c5mrosslerUP.slx)。
四、控制系统的建模与仿真举例
① 控制系统可用的模块
线性系统模块 :Simulink自带的Continuous模块组、Discrete模块组
标准的传递函数、状态方程、零极点、延迟、积分器、PID控制器
Simulink Extras —— 非零初值的传递函数等
控制系统工具箱模块集——LTI对象模块
非线性系统模块
② 多变量时间延迟系统的仿真
MATLAB求解法:
Simulink仿真求解方法(点击右键下载c5mmimo.mdl模型文件)
③复杂系统模型的建模 (采用LTI模块)
建立G传递函数表达式后,直接通过LTI模块调用G,实现仿真求解
④ 计算机控制系统仿真(注意零阶保持器,实现连续与离散之间的转换)
完整表达:
简化模型一:
简化模型二:
四、非线性系统的建模与仿真方法
一般非线性系统仿真
Discontinuity模块组提供一些基本的非线性模块。
Lookup Tables模块组(下图),也可用于建立一般的单值非线性问题。
① 一般静态非线性特性的建模
静态非线性:y = f (u)
单值非线性环节,转折点
一维查表模块
例子:
②多值非线性环节建模
多值非线性在实际系统中存在——磁滞
分解成两个单值非线性
Simulink模型实现:
例:非线性系统的极限环
闭环系统模型
Simulink模型(点击右键下载c5mlimcy.mdl)
模型调用与运行
极限环绘制
五、子系统
仿真模型名称 f14,直接在命令窗口输入f14回车,即可调出,参照如下的系统结构进行理解:
子系统的建立——PID控制器模块(点击右键下载模型maskertest.slx)
主要步骤:模块封装的图标设计、参数对话框设计。