Services & Resources / Wolfram Forums
MathGroup Archive
*Archive Index
*Ask about this page
*Print this page
*Give us feedback
*Sign up for the Wolfram Insider

MathGroup Archive 2004

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Adding Vectors -- Newbie help please

  • To: mathgroup at
  • Subject: [mg52038] Re: Adding Vectors -- Newbie help please
  • From: David Bailey <dave at>
  • Date: Mon, 8 Nov 2004 03:13:19 -0500 (EST)
  • References: <cmfc9b$7k3$> <cmhut5$ppb$> <cmklrk$jm3$>
  • Sender: owner-wri-mathgroup at

motz art wrote:
> Ok; but I was hoping that there is a simpler way than the
> following method  to add  two ac voltage vectors (for example):  
>                                (220V, 225 degrees)
>                                (100V, 16 degrees)
> Clear[r, x, y, Theta, rect, polar]
> rect[r_,Theta_] := { r Cos[Theta Pi/180] , r  Sin[Theta Pi/180]}
> polar[x_, y_] := {Sqrt[x^2 + y^2], ArcTan[x, y]180/Pi}
> (* Input vectors here *)
> v1 := {220, 225};
> v2 := {100, 16};
> r1:= rect[v1[[1]], v1[[2]] ] // N;
> r2:= rect[v2[[1]], v2[[2]] ] // N;
> rt := p1 + p2
> polar[rt[[1]], rt[[2]]] // N
> This just seems so cumbersome, especially when compared to a
> scientific calculator.
> On Sat, 6 Nov 2004 07:36:05 +0000 (UTC), David Bailey
> <dave at> wrote:
>>motz art wrote:
>>>Mathematica v5: How can I input vectors in polar form and
>>>rectangular form?  
>>>a:= (r1, theta1) + (r2, theta2)  Polar form.
>>>b:= (re1 , j* im1) + (re2, j*im2) Rectangular form
>>>I know this should be pretty basic, but I haven't  found examples
>>>of this kind of input.
>>>I would guess it would be something like: 
>>>          Polar[magnitude, phase]
>>>          Rectangular[Real, Imaginary]
>>>but, apparently not.  (This is for  electronics engineering.)
>>>Thanks for any help.
>>You can easily write a function to convert from polar to coordinate form:
>>FromPolar[r_, theta_] := {r Cos[theta], r Sin[theta]}
>>Note that this assumes your angles are measured in radians. Once all 
>>your vectors are in coordinate form you can add/subtract then directly:
>>David Bailey
I know what you mean, and people do sometimes react like that, but I 
have several comments.

1)   A very good strategy is to have some code that you execute every 
time you use Mathematica. You can arrange to do that automatically, or 
simply execute some code in a notebook each time you start work. 
Remember, a calculator can do a few things neatly, but then you hit a 
brick wall!

2)   I would suggest that you do not store r/theta values as lists 
because it is too easy to make a mistake and use them as x/y vectors. 
Why not write things like rect[220,225]+rect[100,16] - never even 
storing the intermediate polar form.

3)    Another option, which is probably even neater is to turn your 
r/theta values into complex numbers and work that way.

4)	Mathematica leaves things exact where possible - which is obviously 
why you are using //N - but this is a valuable feature of Mathematica, 
not a shortcoming! If your voltages were not written as integers you 
would not have that problem. If you want your rect function to always 
return real values, why not define it with the N as part of the function?

I hope that helps,

David Bailey

  • Prev by Date: Re: need help with integration
  • Next by Date: Re: need help with integration
  • Previous by thread: Re: Re: Adding Vectors -- Newbie help please
  • Next by thread: Re: Re: Adding Vectors -- Newbie help please