%euler angles to quaternions for the aerospace sequence function [q0,q1,q2,q3]=euler_to_quat(phi,theta,psi) x=phi/2; y=theta/2; z=psi/2; q0=cos(z)*cos(y)*cos(x)+sin(z)*sin(y)*sin(x); q1=cos(z)*cos(y)*sin(x)-sin(z)*sin(y)*cos(x); q2=cos(z)*sin(y)*cos(x)+sin(z)*cos(y)*sin(x); q3=sin(z)*cos(y)*cos(x)-cos(z)*sin(y)*sin(x); if abs(q0)<10^-10 q0=0; end if abs(q1)<10^-10 q0=0; end if abs(q2)<10^-10 q0=0; end if abs(q3)<10^-10 q0=0; end end