我在Simulink對我觸發子系統中的問題:Simulink的:讓一步的時間在觸發子系統
所以Susbsystem每0.01秒執行。
我的問題是:我怎麼能得到這個變量(0.01)在我的子系統? 注意:我不需要模擬步驟時間。
我已經認爲兩種解決方案: 1)使用數字時鐘與一個內存塊 2)使用加權採樣時間塊
但是,他們兩個給我的初始值爲0。
您是否有優雅的解決方案我的任務
非常感謝。 祝您有個愉快的日子
我在Simulink對我觸發子系統中的問題:Simulink的:讓一步的時間在觸發子系統
所以Susbsystem每0.01秒執行。
我的問題是:我怎麼能得到這個變量(0.01)在我的子系統? 注意:我不需要模擬步驟時間。
我已經認爲兩種解決方案: 1)使用數字時鐘與一個內存塊 2)使用加權採樣時間塊
但是,他們兩個給我的初始值爲0。
您是否有優雅的解決方案我的任務
非常感謝。 祝您有個愉快的日子
最簡單的解決方案是將一個常量塊送入子系統。定義一個MATLAB工作區變量dt=0.01;
並將常量設置爲dt
,並將脈衝發生器的採樣率設置爲dt
。
或者,您可以使用Probe模塊獲取脈衝發生器輸出信號的採樣率,並將其作爲子系統的輸入饋送。
另一種方法是在工作區中使用get_param()
命令。 在你的情況下,它應該是:
get_param('<path-to-block>/Pulse Generator','Period')
這應該輸出:
>> ans =
0.01