Simulink中”连续系统仿真”和”离散系统仿真”的区别

  • Post author:
  • Post category:其他



问题的提出–


“什么叫连续系统仿真和离散系统仿真?



计算机进行的仿真难道不都是在时间上离散的吗?看simulink的help说,说是连续系统仿真是解常微分方程,离散系统仿真则是依赖于系统的前一个状态。”



“hopeasy

发表于 2008-11-1 21:19



楼主首先把这个牢牢记住:



Z变换->离散系统->差分方程



S变换->连续系统->(偏)微分方程


因为离散系统采用差分方程表示,和前一时刻的状态有关,所以必须知道先前状态;而

连续系统

采用微分方程描述,可以说是只和时间变量有关,可以通过微分方程求出任一时刻的解,不需要知道这之前的状态”



“akjuan

发表于 2008-11-17 19:56


看大家讨论很热烈,我们看看官方的意见:



Two types of states can occur in a Simulink model: discrete and continuous



states.


在simulink模型中存在两种模块:discrete和continuous


A continuous state changes continuously. Examples of continuous


states are the position and speed of a car.



一个continuous状态的改变是连续的,比如连续行进中的车的速度和位移。


A discrete state is an approximation of a continuous state where the state is updated (recomputed) using finite(periodic or aperiodic) intervals.



一个discrete状态是一个continuous状态的近似的表达,既将连续状态使用有限个(周期或非周期性)间隔时间值表达discrete状态


An example of a discrete state would be the position of a car shown on a digital odometer where it is updated every second



比如行驶中的车在数字仪表上显示的速度和位移,这种显示是每秒更新一次的


as opposed to continuously. In the limit, as the discrete state time interval approaches zero, a discrete state becomes equivalent to a continuous state.



对于continuous和discrete状态来说,假设discrete取值间隔是zero,那么这两种状态是相等的。


这是mathworks官方资料说的,我依据个人理解译过来,不知道大家是否明白了


continuous和discrete两种状态的主要差别在于他们取值的时间问题,既在continuous中,理论是无间隔时间,计算机的做法可能是很短时间内更新一次值,而discrete则是很长时间更新一次值,这个很短和很长的概念是他两相对来说的。



为什么他们更新的时间不一样呢?其实很简单,大家想一下就会明白了因为continous状态没有跳跃和奇点等发生,所以一般来说,变化缓慢,不依靠前一次结果也能准备得出而discrete可能各次间隔中值都有可能发生跃变,所以特别依靠上一次值或者说continous的值,是可以求导而得的, 而discrete只能差分了




但是根据我个人的认识离散系统和连续系统的区别是引入了“采样定理”(观测者,observer)


1、连续系统->微分方程,某些情况下是可以给出解析解的,y=f(x(t)), 初始状态知道后,以后的状态就确定了;但是某些情况下是无法给出解析解的只能用数值分析的方法给出近似解,计算机就是干这个,尽管计算机是处理离散化的,但是它本质上是用数值分析迭代的方法解决问题的。


2、离散系统->差分方程,是要考虑”采样定理”的(single/mutli-rate), 然后才是要考虑状态方程或者系统函数来分析系统的。


转自:http://www.cnblogs.com/superql/p/3780655.html




可以参考网络课程:http://jpkc.nwpu.edu.cn/jp2008/03/kechengneirong.asp?id=33&pid=406