ОК, поэтому, выразив theta_dot
как функцию от других переменных в уравнении (3) и введя результат в уравнение (2), я получаю (псевдокод):
phi_dot = (0.03*sin(psi)*sin(3*t) - 0.002*t^2 * cos(psi)) / (sin(theta)*(cos(psi))^2 + sin(theta) * sin(psi) * sin(phi))
Так получается, что первое уравнение вашего ODE-файла зависит только от времени и вектора состояния.
Тогда ваше второе уравнение в файле ODE:
psi_dot = -phi_dot * cos(theta) + 0.01*t^2 + 0.3*t
, что нормально, потому что вы вычислили phi_dot
в предыдущем уравнении.
И, наконец, последнее уравнение в вашем файле ODE:
theta_dot = (-0.03*sin(3*t) + phi_dot * sin(theta) * sin(phi)) / cos(psi);
, что тоже хорошо, потому что вы вычислили phi_dot
в своем первом уравнении.
Затем вы можете передать это солверу ODE, и оно должно работать. (проверьте мои математику, хотя)