Function 使用模拟时间执行函数

Function 使用模拟时间执行函数,function,simulation,getparameter,Function,Simulation,Getparameter,这可能是一个非常简单的问题,但我想使用模拟时间,以便在模拟运行时执行函数。例如,当模拟时间大于14秒(或>=14&我不使用matlab,但我注意到的一点是,该脚本执行循环并且从不让步。这对我来说意味着该脚本将一次性运行,而不是在每一帧重复调用。假设该脚本执行一次,我想您将注册一个脚本,以便在每个时间步执行,请参阅。在这个回调中,y你检查计时器并采取相应的行动。还有,但我无法判断它是否相关,因为那里的代码与你的代码有很大不同。你可以用pause()命令解决 我看到了将时钟块导出到Matlab变量的

这可能是一个非常简单的问题,但我想使用模拟时间,以便在模拟运行时执行函数。例如,当模拟时间大于14秒
(或>=14&我不使用matlab,但我注意到的一点是,该脚本执行循环并且从不让步。这对我来说意味着该脚本将一次性运行,而不是在每一帧重复调用。假设该脚本执行一次,我想您将注册一个脚本,以便在每个时间步执行,请参阅。在这个回调中,y你检查计时器并采取相应的行动。还有,但我无法判断它是否相关,因为那里的代码与你的代码有很大不同。

你可以用pause()命令解决

我看到了将时钟块导出到Matlab变量的唯一方法。然后使用您的变量进行检查

无论如何,您的方法似乎是可行的:

>> load_system('MySystem.mdl');
>> get_param('MySystem','SimulationTime')
ans =
     1
>> set_param('ItFixBody', 'SimulationCommand', 'Start');
>> get_param('ItFixBody','SimulationTime')
ans =
    2.4800
>> get_param('ItFixBody','SimulationTime')
ans =
    3.0500
>> get_param('ItFixBody','SimulationTime')
ans =
    3.5800
>> get_param('ItFixBody','SimulationTime')
ans =
    3.9800

这是什么语言?这是Matlab语言。你试过打印计时器吗?是的,计时器返回0。我的for循环结构有点不正确。随着范围的增加,模拟开始前的延迟增加,因此for循环在模拟期间甚至不活动,并在它之前结束。我如何在for循环中定义我的计时器o定时器值是否在每个周期更新?
>> load_system('MySystem.mdl');
>> get_param('MySystem','SimulationTime')
ans =
     1
>> set_param('ItFixBody', 'SimulationCommand', 'Start');
>> get_param('ItFixBody','SimulationTime')
ans =
    2.4800
>> get_param('ItFixBody','SimulationTime')
ans =
    3.0500
>> get_param('ItFixBody','SimulationTime')
ans =
    3.5800
>> get_param('ItFixBody','SimulationTime')
ans =
    3.9800