0
我對Matlab Simulink很陌生,我試圖在Matlab函數塊中實現一個循環,該循環在整個仿真過程中不間斷地進行。 輸入:如何在Matlab函數塊中實現定時循環
從一個簡單的時鐘「t」,使它繼續下去,直到模擬持續。
「v」和「i」是什麼給出了一個特定的「p *」值,通過稍微改變ouptut「D」我想檢查這個「p *」值是變大還是變小模型「v」和「i」爲「d」的影響)
function D = fcn(v,i,t)
%#codegen
p1 = v*i;
D = 0.5;
D = D + 0.05;
while t > 0
p2 = v*i;
if p1 > p2
D = D - 0.05;
else
D = D + 0.05;
end;
p1 = p2;
end;
功能塊的說,這是正確的,但是當我開始運行它,它凍結。我想要做的下一步(但從來沒有達到過)是在其中放置一個計時器,執行這個循環可以說每0.01秒或什麼。這是與Matlab功能塊兼容還是有什麼辦法實現這一點?
有沒有中斷,沒有T遞增? – Vuwox
您是否考慮過「If-action子系統」塊和「While迭代子系統」塊?他們使用起來非常方便。 – thewaywewalk
因爲你有一個無限循環,你就凍結了。在t> 0的第一個模擬時間步,當調用這個模塊時,它不會退出while循環。 –