function [mag,angulo]= rect_to_polar(z,modo) mag = abs(z); zreal = real(z); zimag = imag(z); if zreal == 0 && zimag > 0 % 90grados o pi/2-rad if strcmp(modo,"grados") angulo = 90; else angulo = pi/2; end elseif zreal == 0 && zimag < 0 %270grados o 3*pi/2 rad if strcmp(modo,"grados") angulo = 270; else angulo = 3*pi/2; end elseif zreal <0 && zimag == 0 %180grados if strcmp(modo,"grados") angulo = 180; else angulo = pi; end elseif zreal < 0 && zimag > 0 % 2do Cuadrante if strcmp(modo,"grados") angulo = 180-abs(atand(zimag/zreal)); else angulo = pi-abs(atan(zimag/zreal)); end elseif zreal < 0 && zimag < 0 % 3er Cuadrante if strcmp(modo,"grados") angulo = 180+abs(atand(zimag/zreal)); else angulo = pi+abs(atan(zimag/zreal)); end elseif zreal > 0 && zimag < 0 %4to Cuadrante if strcmp(modo,"grados") angulo = 360-abs(atand(zimag/zreal)); else angulo = 2*pi-abs(atan(zimag/zreal)); end else %1er Cuadrante if strcmp(modo,"grados") angulo = atand(zimag/zreal); else angulo = atan(zimag/zreal); end endif endfunction