Simulink 中的 if 语句块累积最后一个真值
if statement block in Simulink accumulates last true value
如果 Simulink 中的语句与编程语言中的不同,它会累积最后一个真值,直到它再次出现。
从这里可以看出,当随机值低于 0.5(if 条件)时,输出不会像 if 语句通常期望的那样给出零。
使用 if 的正确方法是什么? (最好我不想放饱和度和matlab函数)
到目前为止,我可以使用一个基本的 matlab 函数来做这件事;
function y = fcn(u)
if u>0
y = u;
else
y = 0;
end
end
但我想知道这是否是使用 if 块的正确方法。
If Action
子系统中的 Out
块在禁用时有一个 属性 到 hold
或 reset
输出。默认是持有;你想让它重置。您还需要将 0
指定为初始条件,这是它将重置为的条件。
将 If action 子系统中的块 属性 更改为 'reset',看起来它在您当前的实现中是 'held'
如果 Simulink 中的语句与编程语言中的不同,它会累积最后一个真值,直到它再次出现。
从这里可以看出,当随机值低于 0.5(if 条件)时,输出不会像 if 语句通常期望的那样给出零。
使用 if 的正确方法是什么? (最好我不想放饱和度和matlab函数)
到目前为止,我可以使用一个基本的 matlab 函数来做这件事;
function y = fcn(u)
if u>0
y = u;
else
y = 0;
end
end
但我想知道这是否是使用 if 块的正确方法。
If Action
子系统中的 Out
块在禁用时有一个 属性 到 hold
或 reset
输出。默认是持有;你想让它重置。您还需要将 0
指定为初始条件,这是它将重置为的条件。
将 If action 子系统中的块 属性 更改为 'reset',看起来它在您当前的实现中是 'held'