460 likes | 885 Views
Simulink 建模与仿真. 第 7 讲: Simulink 仿真基础. Simulink 能做什么? Simulink 介绍 简单例子 demo. 1 、 Simulink 是什么?. Simulink 是基于 MATLAB 环境之上的高性能的系统级仿真设计平台。 是实现动态系统建模和仿真的一个集成环境。 它可以非常容易的实现 可视化建模 , 使得用户可以把更多的精力投入到系统模型的构建,而非语言的编程上。从而 把理论研究和工程实践有机的结合在一起。. simulink 模型 : simulink 模型在视觉上表现为方框图,在
E N D
第7讲:Simulink仿真基础 • Simulink能做什么? • Simulink介绍 • 简单例子 • demo
1、Simulink是什么? • Simulink是基于MATLAB环境之上的高性能的系统级仿真设计平台。是实现动态系统建模和仿真的一个集成环境。 • 它可以非常容易的实现可视化建模,使得用户可以把更多的精力投入到系统模型的构建,而非语言的编程上。从而把理论研究和工程实践有机的结合在一起。
simulink 模型: simulink模型在视觉上表现为方框图,在 文件上则是扩展名为mdl的ASCII代码;在数学 上体现为一组微分方程或差分方程;在行为上 模拟了物理器件构成的实际系统的动态特性。 • simulink 的一般结构:
在学术界和工业领域,Simulink已经成为动态系统建模和仿真领域中应用最为广泛的软件之一。由于Simulink是采用模块组合方式来建模,从而可以使得用户能够快速、准确地创建动态系统的计算机仿真模型,评估不同地算法和结构,并验证系统的性能。在学术界和工业领域,Simulink已经成为动态系统建模和仿真领域中应用最为广泛的软件之一。由于Simulink是采用模块组合方式来建模,从而可以使得用户能够快速、准确地创建动态系统的计算机仿真模型,评估不同地算法和结构,并验证系统的性能。 • Simulink模型可以用来模拟线性和非线性、连续和离散或者两者的混合系统,也就是说它可以用来模拟几乎所有可能遇到动态系统。另外Simulink还提供一套图形动画的处理方法,使用户可以方便的观察到仿真的整个过程。 • Simulink没有单独的语言,但是它提供了S函数规则。所谓的S函数可以是一个M函数文件、FORTRAN程序、C或C++语言程序等,通过特殊的语法规则使之能够被Simulink模型或模块调用。S函数使Simulink更加充实、完备,具有更强的处理能力。
同Matlab一样,Simulink也不是封闭的,他允许用户可以很方便的定制自己的模块和模块库。同时Simulink也同样有比较完整的帮助系统,使用户可以随时找到对应模块的说明,便于应用。同Matlab一样,Simulink也不是封闭的,他允许用户可以很方便的定制自己的模块和模块库。同时Simulink也同样有比较完整的帮助系统,使用户可以随时找到对应模块的说明,便于应用。 • 目前,随着软件的升级换代,在软硬件的接口方面有了长足的进步,使用Simulink可以很方便地进行实时的信号控制和处理、信息通信以及DSP的处理。
2、Simulink介绍 • 如何进入 新建一个.mdl文件 • 模块库 公共模块库:最基础、最通用的模块库, 它可以被应用到不同的专业领域中。 专业模块库
SIMULINK的模块库介绍 • SIMILINK模块库按功能进行分为以下9类子库: • Continuous(连续模块库) • Discrete(离散模块库) • Function&Tables(通用函数及列表库) • Math(数学函数库) • Nonlinear(非线性模块库) • Signals&Systems(信号处理及系统类模块库) • Sinks(输出显示模块库) • Sources(输入源模块库) • Subsystems (子系统模块库)
Sinks库 Discrete库 Continuous库
Math库 Nonlinear库
3、几个简单例子 • 1、输入为一个正弦波信号,输出为此正弦波信号与一个常数的乘积。 系统输入: ,t≥0 系统输出:
假设从实际自然界(力学、电学、生态等)或 社会中,抽象出有初始状态为0的二阶微分方程 1)改写微分方程 2)利用SIMULINK库中的标准模块构作模型 3)仿真操作
2、系统 Bouncing Ball Model: A rubber ball is thrown into the air with a velocity of 15 meters per second from a height of 10 m. position ~ h (t) velocity ~ v (t)
3、典型PID控制系统 R(s) Y(t)
设置系统模块参数与仿真参数 在建立比例微分控制系统模型之后,需要设置 各模块参数与系统仿真参数。系统模型中模块参数 设置如下: (1)Transfer Fcn模块设置: 设置分子num [1 7 24 24], 设置分母den为[1 10 35 50 24] (2)Step信号模块设置:使用系统的默认取值,即单位阶跃信号。 (3)其它各模块的参数设置
在设置系统模块参数之后,接下来使用 Simulation Parameters仿真参数对话框中的Solver 选项卡设置系统仿真参数,如下所述: (1)仿真时间范围为0至20s。 (2)使用变步长连续求解器(variable-step),仿真算法为ode45。 (3)最大仿真步长(Max step size)为0.01。 (4)绝对误差(Absolute tolerance)为1e-6。 (5)其余仿真参数使用默认取值。
模块修改参数 • 子系统 封装 • S函数 • 线性离散系统 z变换 • 线性连续系统 拉氏变换s • 混合系统 • 非线性环节
电机模型(控制) • Tank • Inverted pendulum
Simulink优点 • 适应面广:包括线性、非线性系统;离 散、连续系统 • 结构和流程清晰:以方块图形式呈现, 仿真精细、贴近实际