我正在使用PyDy为三体系统创建ODE系统:

right_hand_side = pydy.codegen.generate_ode_function(
       forcing_vector,
       model.coordinate_symbols,
       model.speed_symbols,
       model.constant_symbols,
       mass_matrix=mass_matrix)

然后集成:

y = odeint(right_hand_side,
           x0_parameters.values(),
           t,
           args=(symbolic_constant_parameters,))

但是,我需要约束odeint输出的一些值;我怎么能这样做?

据我所知,如果我手动创建了ODE系统,我可以在那里创建饱和逻辑,但是当我使用PyDy生成ODE函数时,我并不完全确定如何做到这一点 .

不确定它的相关信息,但强制矢量和质量矩阵来自设置运动方程并将它们输入Sympy机械师的KaneMethod .