【发布时间】:2014-03-13 19:58:29
【问题描述】:
这可能是一个非常简单的问题,但我想在模拟运行时使用模拟时间来执行一个函数。例如,当模拟时间大于 14 秒(or >=14 & <20 s),则更改参数值。请帮帮我,下面的代码没有做任何事情。谢谢。
a=0;
set_param('model','SimulationCommand','Start');
b=0;
for i=1:1:500000 % 1ms sampling rate
timer(:,1)=get_param('model','SimulationTime');
if timer>=14
a=1;
b=1;
end
end
【问题讨论】:
-
这是什么语言?
-
这是 Matlab 语言。
-
你试过打印计时器吗?
-
是的,计时器返回 0。我的 for 循环结构有问题。当我增加范围时,模拟开始之前的延迟会增加,所以 for 循环在模拟期间甚至都没有激活并在它之前结束。如何在 for 循环中定义我的计时器,以便每个周期更新计时器值?
标签: function simulation getparameter