MATLAB simulink 原理

来源:互联网 发布:网络转账骗局怎么处理 编辑:程序博客网 时间:2024/05/01 17:19

simulink仿真

模块输出是采样时间、输入和模块状态的函数。

simulink包含两个阶段:

1、初始化

在这个过程中,模块的所有参数都被传递到MATLAB进行求值,因此所有的参数都被确定下来,并且模型的层次被展开

但是原子子系统仍被作为单独的模块对待。另外,simulink把库模块结合到模型中,并传递信号宽度、数据类型和采样

时间,确定模块的执行顺序,并分配内存,最后确定状态的初值和采样时间。

2、仿真循环过程

仿真是由求解器控制的,它计算模块的输出,更新模块的离散状态,计算连续状态,在采用变步长求解器时,求解器还

需要确定时间步长。

在每个仿真时间步期间,模型中的每个模块都会重复这个循环过程,simulink会按照初始化过程所确定的模块执行顺序

来执行模型中的模块。而对于每个模块,simulink都会调用函数,以计算当前采样时间中的模块状态、微分和模块输出。

这个过程一直继续下去直到仿真结束。


对其中几个小步骤说明。

计算连续状态包含以下几个步骤:

1)每个模块按照预先确定的顺序计算输出,求解器为待更新的系统提供当前状态、时间和输出值,反过来,求解器又

需要状态导数的值

2)求解器对状态的导数积分,计算新的状态。

3)状态计算完毕,模块的输出更新再进行一次。这里,一些模块可能会发生过零警告,促使求解器探测出发生过零的

准确时间。


仿真过程中系统和求解器的作用:

求解器:传递模块的输出,对状态导数进行积分,并确定采样时间,求解器传递给系统的信息包括时间、输入和当前状态

系统:作用是计算模块的输出,对状态更新,计算状态的导数和生成过零事件,并把这些信息提供给求解器。

求解器和系统之间的对话是通过不同的标志来完成的。

0 0
原创粉丝点击