最近學習simulink看到這里也很糊塗,正好看到有網友在討論這個問題。
問題的提出--
"什么叫連續系統仿真和離散系統仿真?
計算機進行的仿真難道不都是在時間上離散的嗎?看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://jpkc.nwpu.edu.cn/jp2008/03/kechengneirong.asp?id=33&pid=406