Matlabで解析解が出るっぽい
>> syms w_x w_y w_z >> syms q0(t) q1(t) q2(t) q3(t) >> A=[0 -w_x -w_y -w_z;w_x 0 w_z -w_y; w_y -w_z 0 w_x; w_z w_y -w_x 0] A = [ 0, -w_x, -w_y, -w_z] [ w_x, 0, w_z, -w_y] [ w_y, -w_z, 0, w_x] [ w_z, w_y, -w_x, 0] >> odes = diff(Y)==A*Y odes(t) = diff(q0(t), t) == - w_x*q1(t) - w_y*q2(t) - w_z*q3(t) diff(q1(t), t) == w_x*q0(t) - w_y*q3(t) + w_z*q2(t) diff(q2(t), t) == w_x*q3(t) + w_y*q0(t) - w_z*q1(t) diff(q3(t), t) == w_y*q1(t) - w_x*q2(t) + w_z*q0(t) >> C=Y(0)==[1;0;0;0] C = q0(0) == 1 q1(0) == 0 q2(0) == 0 q3(0) == 0 >> [q0(t) q1(t) q2(t) q3(t)]= dsolve(odes,C) q0(t) = (w_y*exp(t*(- w_x^2 - w_y^2 - w_z^2)^(1/2))*((w_y*(- w_x^2 - w_y^2 - w_z^2)^(1/2))/(w_y^2 + w_z^2) + (w_x*w_z)/(w_y^2 + w_z^2)))/(2*(- w_x^2 - w_y^2 - w_z^2)^(1/2)) + (w_y*exp(-t*(- w_x^2 - w_y^2 - w_z^2)^(1/2))*((w_y*(- w_x^2 - w_y^2 - w_z^2)^(1/2))/(w_y^2 + w_z^2) - (w_x*w_z)/(w_y^2 + w_z^2)))/(2*(- w_x^2 - w_y^2 - w_z^2)^(1/2)) + (w_z*exp(t*(- w_x^2 - w_y^2 - w_z^2)^(1/2))*((w_z*(- w_x^2 - w_y^2 - w_z^2)^(1/2))/(w_y^2 + w_z^2) - (w_x*w_y)/(w_y^2 + w_z^2)))/(2*(- w_x^2 - w_y^2 - w_z^2)^(1/2)) + (w_z*exp(-t*(- w_x^2 - w_y^2 - w_z^2)^(1/2))*((w_z*(- w_x^2 - w_y^2 - w_z^2)^(1/2))/(w_y^2 + w_z^2) + (w_x*w_y)/(w_y^2 + w_z^2)))/(2*(- w_x^2 - w_y^2 - w_z^2)^(1/2)) q1(t) = (w_z*exp(t*(- w_x^2 - w_y^2 - w_z^2)^(1/2))*((w_y*(- w_x^2 - w_y^2 - w_z^2)^(1/2))/(w_y^2 + w_z^2) + (w_x*w_z)/(w_y^2 + w_z^2)))/(2*(- w_x^2 - w_y^2 - w_z^2)^(1/2)) - (w_y*exp(-t*(- w_x^2 - w_y^2 - w_z^2)^(1/2))*((w_z*(- w_x^2 - w_y^2 - w_z^2)^(1/2))/(w_y^2 + w_z^2) + (w_x*w_y)/(w_y^2 + w_z^2)))/(2*(- w_x^2 - w_y^2 - w_z^2)^(1/2)) - (w_y*exp(t*(- w_x^2 - w_y^2 - w_z^2)^(1/2))*((w_z*(- w_x^2 - w_y^2 - w_z^2)^(1/2))/(w_y^2 + w_z^2) - (w_x*w_y)/(w_y^2 + w_z^2)))/(2*(- w_x^2 - w_y^2 - w_z^2)^(1/2)) + (w_z*exp(-t*(- w_x^2 - w_y^2 - w_z^2)^(1/2))*((w_y*(- w_x^2 - w_y^2 - w_z^2)^(1/2))/(w_y^2 + w_z^2) - (w_x*w_z)/(w_y^2 + w_z^2)))/(2*(- w_x^2 - w_y^2 - w_z^2)^(1/2)) q2(t) = (w_y*exp(t*(- w_x^2 - w_y^2 - w_z^2)^(1/2)))/(2*(- w_x^2 - w_y^2 - w_z^2)^(1/2)) - (w_y*exp(-t*(- w_x^2 - w_y^2 - w_z^2)^(1/2)))/(2*(- w_x^2 - w_y^2 - w_z^2)^(1/2)) q3(t) = (w_z*exp(t*(- w_x^2 - w_y^2 - w_z^2)^(1/2)))/(2*(- w_x^2 - w_y^2 - w_z^2)^(1/2)) - (w_z*exp(-t*(- w_x^2 - w_y^2 - w_z^2)^(1/2)))/(2*(- w_x^2 - w_y^2 - w_z^2)^(1/2))
たとえばq0について, 初期値q0(0)=1, q1(0)=0, q2(0)=0, q3(0)=0とすると、
このまま使うことはなさそう