2017-08-20 25 views
0

如果Simulink中的語句與編程語言中的語句不同,它會累加上一個真值直到它再次出現。由於在這裏可以看出,當隨機值低於0.5(如果條件)輸出不會給出0,如通常從if語句期望的那樣。如果Simulink中的語句塊累積了上一個真值

enter image description here

是什麼,如果要使用正確的方法是什麼? (最好我不想把飽和度和matlab功能)

回答

1

If Action子系統中的Out塊在禁用時具有屬性爲holdreset的輸出。默認是保持;你想讓它重置。您還需要指定0作爲初始條件,這將重置爲。在如果動作子系統

+0

一個完美的答案,謝謝「舉行」。 – user8474858

1

到目前爲止,我可以做到這一點,使用基本的matlab函數;

function y = fcn(u) 

    if u>0 
     y = u; 
    else 
     y = 0; 
    end 
end 

但我想知道這將是一個正確的方式使用if塊。

0

更改了塊屬性「重置」,它看起來像它在你的當前實現