第五讲Simulink仿真
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2018/11/8
5、非线性系统
• 1)常见非线性
死区 、限幅 、滞环 、滞后
。
• 2)MATLAB函数或表达式。它由一个表量 或者向量输入,下面的表达式是有效的: sin、u(1)/u(2)。
2018/11/8
• 3) Fcn:函数 • 对输入进行符合c语言规范的数学表达式 处理。模块输入为u。它使用的函数比较 少。它可以进行如sin(u[1])之类的计算。 • 4)保存一步memory
4、线性系统
• • • • 1)增益 输出为输入与增益的乘积。 2)加法 对输入作求和(差)操作,输入可以使两 个或者多个。操作使用+-+-系统给出。 • 3)传递函数 • 分子分母多项式形式。分母的阶次必须大 于分子的阶次,初始值条件为0。
2018/11/8
• • • • • •
4)积分 可以设定初始条件。 5)状态空间 a、b、c、d形式,可以给出初值。 6)扩展 a、PID b、可设定初值的传函
2018/11/8
3.基本操作
• • • • 1)选择(多个)/复制模型 2)连线/移动 3)修改模型参数 4)模型名字修改 5)旋转模型 6)保存文件 7)打印
2018/11/8
三、模型介绍
只介绍一些经典模块 • 1、数据源部分: • A常数模块 B阶跃模块 • B信号发生器 • 只接受输入的数字,不接受变量 • D时钟 • 输出仿真中的当前时间,以秒为单位。在 记录数据序列中需要这个模块。
F 从工作空间读数
• 这个模块从工作空间中读取数据,数据 源至少有两列,第一列为单调递增的时 间,其它列为对应的数据。这个模块的 其它特性和from file一样。它常用于在 MATLAB工作空间处理完数据后,读入 SIMULINK中。
2018/11/8
2、连接
•a)聚合 •一般用在显示、保存或者状态空间系统的 输入中。 •b)分离 •一般用在处理从文件、工作空间读入数据 或者状态控制系统的输出分解。 •c)子系统
2018/11/8
E 从文件读数
• 至少有两行,单调递增的时间,其 它行为对应数据。文本文件或mat文件。 对数据文件没有描述的时间,采用线性 插值的方法得到中间数据。使用这个模 块可以设定任意的输入曲线,对测试试 验数据十分有用。需要注意输入输入不 能过于稀少,免得导致仿真的精度降低 。
2018/11/8
2018/11/8
9、注意
• • • • • 1)大部分模块可连接向量、可改方向 2)连续系统和离散系统可以共同使用 3)少用matlab FCN 4)模块可以使用mask产生:iconedit 5)初始化数据:
2018/11/8
四、数值仿真
1、仿真方法 1)定步长仿真:1,2,3,4,5 仿真步长的选择: a 稳定性:最小时间常数的一半 b 精度:更小一些 随机特性/非线性 2)变步长仿真:缺省
2018/11/8
7、扩展的模块
1)NCD模块:非线性控制系统设计。例子 2)模糊 3)神经元网络 4)电力系统 5)其它:系统辨识、通讯
例子:计算峰峰值 y=sqrt(x).*sin(x).^2
2018/11/8
8.子系统的建立
• 1)为什么建立子系统 • a 减少模块数 b 有利于调试 • c 对大系统/复杂系统有利 • 2)建立方法 • a Subsystem b Group命令 • 3)输入输出 • a in / out b 更名
2018/11/8
3、显示部分
• • • • • • 1) 示波器 示波器中可以同时显示多个曲线 2)输出到文件 3)输出到工作空间 4)数字显示 5)XY图
2018/11/8
6)、高级显示
• A)Extras中的增强显示 • 谱分析/相关分析 • B)DSP模块 • 作FFT显示
2018/11/8
Matlab及其应用
讲座之五
动态系统仿真——Simulink
主讲人:鲍文
2018/11/8
>
退出
目录
发展历史
基本使用 模型介绍 数值仿真
高级分析
例题
2018/11/8
<
>
主菜单
退出
一、发展历史
• 1、动态系统仿真 CSCAD(E) 80年代前:自己编程序,C/FORTRAN 90年代后:集成仿真环境 VisSim SimuLink 2、SimuLink发展 1990年出现,叫SimuLab 1992年改名为SimuLink1.0 +3.5 1999年SimuLink 3.0 +5.3 OO 2018/11/8
二、基本使用
• 1、Simulink的启动 • 1). 命令窗口中键入simulink • 2). file菜单中选择new命令的model • 3). 工具栏中,按按钮 • 4).模型窗口file菜单选择new命令的model
2018/11/8
2. 仿真一个简单的模型
• • • • • • • 仿真一个温度计放入水中,显示的变化。 1)仿真建立模型:惯性环节 1/(Ts+1) T=10s 2)搭建这个模型:使用simulink 3)开始仿真:a.开始/结束时间 b.仿真方法 4)看看显示/修改模型参数
2018/11/8
A Runge-Kutta (包含rk23、rk45)适合于高 度非线性或不连续系统,不适合刚性系统 ; B Adams方法:非线性小、时间常数变化小 C stiff方法是专门用于刚性系统仿真 D Euler方法比较差,尽量避免使用 E Linsim方法适合于接近线性的系统,对 线性刚性系统有很大的优越性。
2018/11/8
2、步长Fra Baidu bibliotek制
1)容许误差越大,仿真的精度越低。一般容 许误差应当在0.1到1e-6之间。 2)最大步长足够小,则仿真的精确度比较好 ,最大步长比较大,可能出现不稳定。 3)仿真的最小步长,是仿真开始的步长。设 置的过小,如系统不连续,在不连续处容 易产生过多的点,会超出可用内存和资源; 如果最小步长过大,导致结果不精确。
2018/11/8
6、离散系统
1)零阶保持器。模拟A/D转换器。 2)一阶保持器。 3)离散积分器,实现离散的欧拉积分。 4)离散传递函数和离散状态空间模型(初值) 5)延迟:输入信号做单位延时并保持一个采 样周期。没有延迟采保,使用零阶保持器, 大于一个单位的延迟功能,采用Discrete Transfer FCN模块。