Re: vectors in polar coordinates
- To: mathgroup@smc.vnet.net
- Subject: [mg11798] Re: vectors in polar coordinates
- From: Allan Hayes <hay@haystack.demon.co.uk>
- Date: Sat, 28 Mar 1998 00:25:36 -0500
- References: <6fd6aa$6ck@smc.vnet.net>
Michael Milirud wrote:
>
> I'm really lost here. It seems there is almost NO support of simple
> vectors in Mathematica v.3.0
> If I want to add 2 vectors of which I have a polar (cylindrical)
> representation I am forced to do something like
>
> << Calculus`VectorAnalysis`
> SetCoordinates[Cylindrical]
> a={100, -115*Pi/180, 0}
> b={200, -30*Pi/180, 0}
> A=CoordinatesToCartesian[a, Cylindrical] B=CoordinatesToCartesian[b,
> Cylindrical] d=A+B
> D=CoordinatesFromCartesian[d, Cylindrical]
>
> and that is a HECK longer to do then by hand. There's got to be
> something simplier like:
> {100, -115*Pi/180, 0} + {200, -30*Pi/180, 0}
>
> or something...
>
> Also how do I find a magnitude of a vector. The Abs[] doesn't support
> this. Sqrt[d[[1]]^2+d[[2]]^2+d[[3]]^2]
>
Michael,
There may be an off-the-shelf answer, but we can define the needed
functions and store their definitions in file or a notebook (or extend
the Calculus`VectorAnalysis` Add-on)
<<Calculus`VectorAnalysis`
SetCoordinates[Cylindrical];
a={100, -115*Pi/180, 0}
b={200, -30*Pi/180, 0}
cylPlus[x___]:=
CoordinatesFromCartesian[
Plus@@(CoordinatesToCartesian[#, Cylindrical]&/@{x}),
Cylindrical]
cylPlus[a,b]
23 Pi 2 {Sqrt[(100 Sqrt[3] + 100
Cos[-----]) +
36
23 Pi 2
(-100 - 100 Sin[-----]) ],
36
23 Pi
-100 - 100 Sin[-----]
36
ArcTan[----------------------------], 0}
23 Pi
100 Sqrt[3] + 100 Cos[-----]
36
Norm[x_] := Sqrt[x.x]
cylNorm[x_] := First[x]
cylNorm[a]
--
Allan Hayes
Mathematica Training and Consulting
Leicester, UK
hay@haystack.demon.co.uk
http://www.haystack.demon.co.uk
voice: +44 (0)116 271 4198
fax: +44 (0)116 271 8642