Re: Re: Redefine Arg to return a value from 0 to 2 pi
- To: mathgroup at smc.vnet.net
- Subject: [mg80480] Re: [mg80421] Re: Redefine Arg to return a value from 0 to 2 pi
- From: DrMajorBob <drmajorbob at bigfoot.com>
- Date: Thu, 23 Aug 2007 01:12:13 -0400 (EDT)
- References: <faeash$f5i$1@smc.vnet.net> <8741959.1187814951914.JavaMail.root@m35>
- Reply-to: drmajorbob at bigfoot.com
I think I'd use myArg[z_] := Mod[Arg@z, 2 Pi] Bobby On Wed, 22 Aug 2007 03:41:13 -0500, <markholtuk at googlemail.com> wrote: > I've always got the impression from this list that it's not > necessarily a good idea to mess around with built-in commands. The > thing to do is to define your own command e.g. myArg as follows: > > myArg[z_] := Module[{z0 = z}, If[Im[z0] < 0, > ArcTan[Re[z0], Im[z0]] + 2*Pi, ArcTan[Re[z0], > Im[z0]]]]; > > This will then do what you want: > > Plot[myArg[2*Exp[I*t]], {t, 0, 4*Pi}] > > I'm sorry I can't explain why your approach doesn't work, but I'm sure > one of our resident guru's can/will. > > Best wishes, > > Mark > > On Aug 21, 10:22 am, chuck009 <dmili... at comcast.com> wrote: >> I'm trying to redefine Arg to return a value from 0 to 2 pi. However >> when I do so and then try and plot Arg[z], Mathematica seems to still >> use the old definition. Can anybody help me? This is my code: >> >> (* redefine Arg to return a value from 0 to 2 pi *) >> >> Unprotect[Arg] >> Arg[z_] := Module[{z0 = z}, If[Im[z0] < 0, >> ArcTan[Re[z0], Im[z0]] + 2*Pi, ArcTan[Re[z0], >> Im[z0]]]]; >> Protect[Arg] >> >> (* check new definition -- this is correct *) >> >> ListPlot[Table[{t, Arg[2*Exp[I*t]]}, {t, 0, 4*Pi, 0.1}]] >> >> (* try and plot new definition of Arg -- Plot used the old definition >> (-pi to pi) *) >> >> Plot[Arg[2*Exp[I*t]], {t, 0, 4*Pi}] >> >> (* resore old definition of Arg *) >> >> Unprotect[Arg] >> Arg[z_] =. >> Protect[Arg] > > Mark R. Holt, BA, PhD, > Room 3.28 > Molecular Cardiology, > Cardiovascular Division and > Randall Division of Cell and Molecular Biophysics, > New Hunt's House, > King's College London, > Guy's Hospital Campus, > LONDON, SE1 1UL. > > Phone: +44 20 7848 6438 > Fax: +44 20 7848 6435 > > > > -- DrMajorBob at bigfoot.com