function [flag,d,xg,yg,teta_out,Xa,Ya,delta_t_out,L] = f_detection2(teta_inibis,delta_t_in,xl_in,yl_in,o_leo,xg_ini,yg_ini,tp_leo,r_gps,n,r); epsilon = 100; %precision 100m delta_i=-0.0010 d = 2*10^8; while ( d > epsilon ) [xl,yl] = f_orbite_leo(xl_in,yl_in,o_leo*tp_leo,1); [flag,flag_touch,Xa,Ya,L,delta_t_out,rt,delta_phase] = g_raytracing(teta_inibis+delta_in,r_leo,r_gps,xl,yl,r,n) [xg,yg] = f_orbite_gps(xg_ini,yg_ini,tp_leo-delta_t_out,0); d=sqrt((Xa(L)-xg)^2+(Ya(L)-yg)^2) if ( d < epsilon ) break; end [pos_ou] = f_ou(xg,yg,Xa(L),Ya(L)); if ( pos_ou == 0 ) delta_i = delta_i/2; else delta_i = delta_i + delta_i/2; end end teta_out=teta_inibis+delta_i;