我正在使用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中。