Another way, not found in nor appropriate to the proposed duplicate, ArcTan[z] and ArcTan[x,y], Restriction and Conversion, is
myArcTan[x_Real] := Piecewise[{{Pi + ArcTan[x], x < 0}}, ArcTan[x]]
myArcTan[1.4452659458183087`*^11/-2.7388321862151737`*^10]/Degree
(* 100.731 *)
More generally, if you're willing to let the function have arbitrary arguments, we can specify an arbitrary range for the real part of the value of arc tangent. We need to define a custom Mod that will apply only to the real part of the input.
Clear[myArcTan, reMod];
reMod[m_, n_, d_] := Mod[Re@m, n, d] + Im[m] I;
myArcTan::range = "The range `` must have length Pi.";
myArcTan[x_, range_List: {-Pi/2, Pi/2}] /;
If[range[[2]] - range[[1]] == Pi, True, Message[myArcTan::range, range]; False] :=
reMod[ArcTan[x], Pi, range[[1]]];
Examples
The standard ArcTan.
myArcTan[1.4452659458183087`*^11/-2.7388321862151737`*^10]/Degree
(* -79.2695 *)
The OP's desired range {0, Pi}.
myArcTan[1.4452659458183087`*^11/-2.7388321862151737`*^10, {0, Pi}]/Degree
(* 100.731 *)
Error checking.
myArcTan[1.4452659458183087`*^11/-2.7388321862151737`*^10, {0, Pi/2}]/Degree
myArcTan::range: The range {0,[Pi]/2} must have length Pi.
(* myArcTan[-5.27694, {0, \[Pi]/2}]/\[Degree] *)
Listability is inherited. Note the discontinuity at 0 if the range is {0, Pi}.
myArcTan[Range[-10., 10, 2], {0, Pi}]/Degree
(* {95.7106, 97.125, 99.4623, 104.036, 116.565,
0., 63.4349, 75.9638, 80.5377, 82.875, 84.2894} *)
Arbitrary expressions. Note that symbolic expressions do not simplify easily.
myArcTan[N@{{1, 2}, 3 I, {{x}}}, {0, Pi}]
(* {{0.785398, 1.10715}, 1.5708 + 0.346574 I,
{{I Im[ArcTan[x]] + Mod[Re[ArcTan[x]], \[Pi], 0]}}} *)
(* Check *)
Tan[%] // Simplify
(* {{1., 2.}, 4.89859*10^-16 + 3. I,
{{I Tanh[Im[ArcTan[x]] - I Mod[Re[ArcTan[x]], \[Pi], 0]]}}} *)
ArcTandocumentation? – gpap Nov 07 '13 at 11:11ArcTan[x,y]:ArcTan[-2.7388321862151737^10, 1.4452659458183087`^11]/Degreewhich returns100.731`. – C. E. Nov 07 '13 at 12:19