运行仿真学习.pptx
《运行仿真学习.pptx》由会员分享,可在线阅读,更多相关《运行仿真学习.pptx(50页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、l 介绍两种 Simulink 运行仿真的方法3.1 使用窗口运行仿真3.2 使用 MATLAB 命令运行仿真本章内容和学习目的l 掌握以上两种运行仿真的方法第1页/共50页2023年2月24日2MATLAB Function 与Function 模块利用User_Defind Function模块库中的MATLAB Function 与与Function 进行进行Simulink 与与MATLAB之间之间的数据交互。的数据交互。Fcn 模块一般用来实现简单的函数关系,在模块一般用来实现简单的函数关系,在Fcn模块中模块中1)输入总是表示成输入总是表示成u,u可以是一个向量。可以是一个向量。2
2、)可以使用)可以使用C语言表达式,语言表达式,例如:例如:sin(u1)+cos(u2)3)输出永远为一个标量。输出永远为一个标量。第2页/共50页2023年2月24日3MATLAB Fcn 一般用来调用一般用来调用MATLAB函数函数来实现一来实现一定的功能:定的功能:(1)所要调用的函数只能有一个输出(可以是一个)所要调用的函数只能有一个输出(可以是一个向量)向量)(2)单输入函数只需使用函数名,多输入函数需要)单输入函数只需使用函数名,多输入函数需要引用相应的元素引用相应的元素(3)在每个仿真步长内都需要调用)在每个仿真步长内都需要调用MATLAB解释器。解释器。第3页/共50页2023
3、年2月24日4sin(u(1)+u(2)cos第4页/共50页3.1 使用窗口运行仿真运行一个仿真的完整过程是:设置仿真参数、开始仿真、查看分析结果运行仿真的方法有两种:使用窗口菜单命令 和使用MATLAB命令第5页/共50页2023年2月24日6使用窗口运行仿真主要可以完成以下一些操作。使用窗口运行仿真主要可以完成以下一些操作。1.设置仿真参数设置仿真参数 仿真参数和算法选择的设置仿真参数和算法选择的设置2.启动仿真启动仿真 选择命令运行仿真选择命令运行仿真3.停止仿真停止仿真 选择命令停止仿真选择命令停止仿真4.中中断断仿仿真真 可可以以在在中中断断点点继继续续启启动动仿仿真真,而而停停止
4、止仿仿真则不能真则不能5.仿仿真真诊诊断断 在在仿仿真真中中若若出出现现错错误误,Simulink 将将会会终止仿真并在仿真诊断对话框中显示错误信息终止仿真并在仿真诊断对话框中显示错误信息第6页/共50页设置仿真参数 选 择 菜 单 选 项【SimulationConfiguration Parameters】,可以对仿真参数及算法进行设置,共有五个选项卡1.解法设置(Solver)2.工作空间输入输出(Workspace I/O)3.仿真诊断参数(Diagnostics)4.高级设置(Advanced)5.实时工具对话框(Real-Time Workshop)第7页/共50页 解法设置(So
5、lver)工作空间I/O(Workspace I/O)诊断页(Diagnostics)设置起始和终止时间,选择解法,指定求解参数和选择输出选项 管理MATLAB工作空间的输入输出项 选择在仿真中警告信息的等级第8页/共50页2023年2月24日9 高级设置(Advanced)实时工具对话框(Real-Time Workshop)对仿真的一些高级配置进行设置 对实时工具中若干参数进行设置。若没有安装实时工具,不出现此框。第9页/共50页 1.Solver(仿真解法设置)选中【SimulationConfiguration Parameters】后,再点击【Solver】。解法设置选项卡包括五项内
6、容:Simulation time,Solver option,step,Relative tolerance/Absolute tolerance,Output options.第10页/共50页2023年2月24日11 1)Simulation timeStart time 默认:0Stop time 默认:10 第11页/共50页2023年2月24日122)Solver option变步长解法:ode45,ode23,ode113,discrete 默认解法是 ode45-连续系统 discrete-离散系统定 步 长 解 法:ode5,ode4,ode3,ode2,discrete 默
7、认解法是 ode5-连续系统 discrete-离散系统第12页/共50页3)Step 变步长解法可以设置初始步长和最大步长固定步长解法固定步长解法只可设置固定步长系统的默认步长是auto.4)Relative tolerance/Absolute tolerance(相对误差限/绝对误差限)相对误差限默认:绝对误差限默认:auto1e-3第13页/共50页2023年2月24日14 5)output options用户用来控制仿真输出个数的对话框,共有三个选项:一般输出,产生附加输出,产生指定输出。第14页/共50页Simulink的数值解法表解法说明Discrete 离散系统的解法Ode1
8、固定步长的Euler解法Ode2固定步长的2阶Runge-Kutta解法Ode3固定步长的3阶Runge-Kutta函数解法Ode4固定步长的4阶Runge-Kutta解法Ode5固定步长的5阶Runge-Kutta函数解法Ode45变步长4、5阶Runge-Kutta解法Ode23变步长2、3阶Adamas解法,对于刚性方程比ode45有效Ode113变阶次Adams-Bashforth-Moulton解法Ode15s刚性系统变阶次多步解法Ode23s刚性系统固定阶次的多步解法Ode23t刚性系统变步长的2、3阶多步解法第15页/共50页2.Workspace I/O工作空间输入输出 Sim
9、ulink 的输入数据可以从 MATLAB 的工作空间中获得,其仿真结果也可以被引入到 MATLAB的 工作空间。实现此项功能需要用到仿真参数对话框中的工作空间 I/O 页。Workspace Data Import/Export 分为三个部分:u 从MATLAB工作空间获得系统输入(Load from workspace)u 仿真结果输出到MATLAB的工作空间(Save to workspace)u 数据保存设置(Save options)第16页/共50页u 从MATLAB工作空间加载(Load from workspace)用户可以设置 MATLAB 中的变量作为系统输入信号或系统状态
10、初值,有两个选项(1)Input:用来设置系统输入信号。格式为 t,u,t、u 均为列向量,t 为输入信号的时间向量,u 为相应时刻的信号取值。可以使用多个信号输入,如 t,u1,u2。在模型中添加接受外部信号的 Inport 模块(In1模块)。第17页/共50页2023年2月24日18(2)Initial state:用来设置系统状态变量的初始值。初始值 xInitial 可为列向量。例1:已建立好仿真模型如下接受外部信号的模块第18页/共50页2023年2月24日19在MATLAB命令窗口中输入命令:t=(0:0.1:10);%注意t为列向量 u=sin(t);将 Load from w
11、orkspace 栏 Input 选上,然后进行仿真。第19页/共50页2023年2月24日20例2 这是一个模型接受多个输入变量的实例输入状态u包含三个输入项,在模型中应该有三个接受外部变量的端口,即添加3个In1 模块。第20页/共50页2023年2月24日21在MATTAB命令窗口中输入的变量为:t=(1:0.01:10);u=sin(t),2*cos(t),0.5*t;将 Load from workspace 栏 Input 选上,然后进行仿真第21页/共50页u 仿真结果输出到MATLAB的工作空间(Save to workspace)可将系统的仿真结果、系统仿真时刻、系统中的状态
12、或指定的信号输出到 MATLAB 的工作空间中,有四个选项。(1)Time:tout 输出系统仿真时刻。(2)States:xout 输出系统模型中的所有状态变量。(3)Output:yout 输出系统模型中的所有由 Output 模块 (即 Out1 模块)表示的信号。(4)Final state:xFinal 输出系统模型中的最终状态变量取值,即最后仿真时刻处的状态值。第22页/共50页 数据保存设置(Save option)(1)Limit data points to last:表示输出数据的长度(从信号的最后数据点记起)。(2)Format:表示输出数据类型。共有三种形式:Struc
13、ture with Time(带有仿真时间变量的结构体),Structure(不带仿真时间变量的结构体),Array(信号数组)。第23页/共50页假定两个输入信号都为正弦信号 sin(t),并且假定初始值为 0,1例3:第24页/共50页将 Load from workspace 栏的两项全部选上,并且将 Input 栏改写为t,u,u。将 Save to workspace 栏的四项全部选上。Save option 栏的三项分别为:1000,1,Array首先生成系统输入信号与状态初始值,在 MATLAB 命令窗口中键入如下命令:t=0:0.1:10;t=t;u=sin(t);xIniti
14、al=0,1;第25页/共50页然后运行仿真,结果如下:第26页/共50页运行 whos 的结果:Name Size Bytes Class t 101x1 808 double array tout 51x1 408 double array u 101x1 808 double array xFinal 1x2 16 double array xInitial 1x2 16 double array xout 51x2 816 double array yout 51x2 816 double array上面 t 和 tout 的维数不相同,这是因为在 Solver 中采用了变步长解法,若
15、采用定步长解法(步长取 0.1)则维数相同。第27页/共50页3.2 使用MATLAB命令运行仿真 MATLAB 提供了 sim 命令,使用户可以在 MATLAB 的环境下以命令行或 M 文件的形式运行 Simulink 模型。使用命令行方式,用户可以编写并运行系统仿真的脚本文件来完成动态系统的仿真,在脚本文件中重复地对同一系统在不同的仿真参数或不同的系统模块参数下进行仿真,而无需一次又一次启动 Simulink 图形窗口中的 Start Simulink 进行仿真。使用命令行方式进行动态系统的仿真给用户提供了更强的控制能力,尤其适合高级用户。为什么需要使用命令行方式对动态系统进行仿真?第28
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 运行 仿真 学习
限制150内