function [eo]=eloSF(y0,t) %Función para obtener los elementos orbitales a partir de la posición y velocidad
%Dadas la posicion y velocidad en el sistema de referencia movil, obtiene
%los elementos orbitales en el sistema de referencia fijo
global wt mu

Mtheta=[cos(-wt*t) -sin(-wt*t) 0;sin(-wt*t) cos(-wt*t) 0;0 0 1];

Vm=y0(4:6);
rp=sqrt(y0(1)^2+y0(2)^2);vpm=rp*wt;
rpx=y0(1);rpy=y0(2);
if rpy>=0
    theta=acos(rpx/rp);
else
    theta=2*pi-acos(rpx/rp);
end
etheta=[-sin(theta) cos(theta) 0];
Vpm=vpm*etheta;
Vf=Vm+Vpm;
% Vm=Vf-Vpm;

y0(4:6)=Vf;
r=(Mtheta^-1*y0(1:3)')';
v=(Mtheta^-1*y0(4:6)')';
% r=y0(1:3);
% v=y0(4:6);


eo=zeros(1,6);%Inicializamos el vector de los elementos orbitales
r;
v;
h=cross(r,v);

%EC
EC=cross(v,h)/mu-r/norm(r);
eo(1)=norm(EC);
%SMA(m)
epsilon=norm(v)^2/2-mu/norm(r);
SMA=-mu/2/epsilon;
eo(2)=SMA;
%TA(grados)
if r*v'>=0
    TA=acos(r*EC'/norm(r)/norm(EC))*180/pi;
else
    TA=(2*pi-acos(r*EC'/norm(r)/norm(EC)))*180/pi;
end
eo(6)=TA;
%INC(grados)
INC=acos(h(3)/norm(h))*180/pi;
eo(3)=INC;
%%OM(grados)
K=[0 0 1]';
n=cross(K,h)/norm(cross(K,h));
if n(2)>0
OM=acos(n(1))*180/pi;
else 
    OM=(2*pi-acos(n(1)))*180/pi;
end
eo(4)=OM;
%%W(grados)
if EC(3)>0
    W=acos(EC*n'/norm(EC))*180/pi;
else
    W=(2*pi-acos(EC*n'/norm(EC)))*180/pi;
end
eo(5)=W;




% % eo=[0.15 a+2e3 147.22*pi/180 90*pi/180 0*pi/180 180*pi/180]
% % [coord]=rv(eo)
% % y0=coord
% % Vf=y0(4:6);
% % rp=sqrt(y0(1)^2+y0(2)^2);vpm=rp*wt;
% % rpx=y0(1)^2;rpy=y0(2);
% % if rpx>0
% %     theta=atan(rpy/rpx);
% % else
% %     theta=pi+atan(rpy/rpx);
% % end
% % etheta=[-sin(theta);cos(theta);0];
% % Vpm=vpm*etheta;
% % 
% % Vm=Vf-Vpm;
% % 
% % y0(4:6)=Vm