Stateflow指南(7)

2018-12-01 16:22

仿真步长设置

仿真参数的选择对仿真结果有很大的影响。对于简单系统,由于系统中并不存在状态变量,因此每一次计算都应该是准确的(不考虑数据截断误差)。在使用Simulink对简单系统进行仿真时,影响仿真结果输出的因素有仿真起始时间、结束时间和仿真步长。对于简单系统仿真来说,不管采用何种求解器,Simulink总是在仿真过程中选用最大的仿真步长。

如果仿真时间区间较长,而且最大步长设置采用默认取值auto,则会导致系统在仿真时使用大的步长,因为Simulink的仿真步长是通过下式得到的:

Unit Delay模块:

其主要功能是将输入信号延迟一个采样时间,它是离散系统的差分方程描述以及离散系统仿真的基础。在仿真时只要设置延迟模块的初始值便可计算系统输出。

Zero-Order Hold模块:

其主要功能是对信号进行零阶保持。使用Simulink对离散系统进行仿真时,单位延迟是由Discrete模块库中的Unit Delay模块来完成的。对于人口变化系统模型而言,需要将作为Unit Delay模块的输入以得到,然后按照系统的差分方程来建立人口变化系统的模型。

定步长连续求解器。可以使用如下的方法:ode5, ode4, ode3, ode2, ode1。

(2) 变步长连续求解器。可以使用如下的方法:ode45, ode23, ode113, ode15s, ode23s, ode23t,ode23tb。

心得

数据的输入可以使用模块constants 可以说是数组输入[1 2 3 4]可以以空格分割数据。 在StateFlow中可以先设置输入 size 设置成[1 4]或者[4]表示输入1*4的矩阵,如果是二维类似与数组,在Stateflow中定义local的变量直接赋值就可以了,在StateFlow中可以定义常量

对于不带有过零检测的Function函数模块,在求取输入信号的绝对值时,漏掉了信号的过零点(即结果中的拐角点);而对于具有过零检测能力的Abs求取绝对值模块,它可以使仿真在过零点处的仿真步长足够小,从而可以获得精确的结果。


Stateflow指南(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:绿色生态农产品深加工项目可行性研究报告

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: