我对 Matlab Simulink 很陌生,我正在尝试在 Matlab 功能块中实现一个循环,该循环在整个模拟过程中不间断。输入:
“t”从一个简单的时钟开始,让它一直持续到模拟持续。
“v”和“i”给出了一个特定的“p*”值,通过稍微改变输出“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 功能块兼容,或者有什么方法可以实现这一点?