我正在尝试恢复非线性状态估计的一些基本知识,我选择了一个在表面上滑动的盒子,具有非线性摩擦力。然而,我注意到我的模拟表现得很奇怪。我想测试不同的输入(施加的力),所以我使用了几个步骤和一个常数,带有几个手动开关。当手动开关设置为在动力学方程中使用常量输入时,系统会在禁用步进输入的步进时间显示一些奇怪的行为。我试过改变步骤时间,行为随之而来(见图)。
为什么空闲的未使用步骤会影响模拟?它们不应该用在计算中!它是否与求解器的步进时间有关?
在我的系统中,第一个状态(图中的黄色)是速度,第二个状态是位置(图中的蓝色)。它是对步进时间(State1或State2的衍生物)
作出反应的速度图1:突出显示输入“步骤1”的效果。图表来自'Scope'(系统状态)和'Scope1'(系统状态衍生物)。禁用时间t = 3s的步骤,将常数用作输入。 State1(黄色)是速度,State2(蓝色)是位置。
图2:突出显示输入“步骤1”的效果。图表来自'Scope'(系统状态)和'Scope1'(系统状态衍生物)。该步骤被禁用,如图1所示,但步长时间增加到t = 7。 State1(黄色)是速度,State2(蓝色)是位置。
图3:突出显示输入“Step”和“Step1”的效果。图表来自'Scope'(系统状态)和'Scope1'(系统状态衍生物)。两个步骤都被禁用作为输入,步长时间为t = 5s,t = 3s。这两个步骤都会使步进时的速度突然增加。