众所周知,2级Matlab S函数有一个命令来获取其块的下一个命中时间,如:
block.NextTimeHit = block.CurrentTime + deltaT;
单个块的时间步长与系统的时间步长之间的关系是什么。我的意思是,如果系统的采样时间步长大于块的大小,会发生什么?在我看来,解算器永远不会让它发生,因为解算器可能会检测每次迭代的每个块的block.NextTimeHit,并确保当前system.NextTimeHit小于每个block.NextTimeHit。所以没有遗漏的样本。
答案 0 :(得分:1)
您不会错过任何所需的采样时间。使用固定步长求解器时,Simulink会检查所有块是否允许使用固定步长,如果不允许则会引发错误。当使用可变步长求解器(在您特别询问的情况下需要)时,Simulink保证在所需的时间内花费一些时间。