MathGroup Archive 2008

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

Search the Archive

Re: Solving on mathematica

  • To: mathgroup at smc.vnet.net
  • Subject: [mg88521] Re: Solving on mathematica
  • From: Jean-Marc Gulliet <jeanmarc.gulliet at gmail.com>
  • Date: Wed, 7 May 2008 07:08:47 -0400 (EDT)
  • Organization: The Open University, Milton Keynes, UK
  • References: <fvpctc$mkh$1@smc.vnet.net>

Chris wrote:

> How would i go about solving this equaiton on mathematica
> 
> (Xi -Ux)^2 + (Yi - Uy)^2 + (Zi - Uz) = (Ri - Cb)
> i = 1,2,3,4
> 
> where we need to find Ux, Uy, Uz, Cb tried a few things and they dont work.
> 
> NSolve[ (Xi - U)^2 + (Yi - V)^2 + (Zi - W)^2 == (Ri - B)^2, {U, V, W, 
>   B}, { i = 1, 2, 3, 4} ]
> 
> any ideas?

Below, we assume that the Xi, Yi, etc., are some kind of indexed 
variables or arrays that hold some values.

(* First, we generate some random data. *)
Do[{X[i], Y[i], Z[i], R[i]} = RandomInteger[{-5, 5}, 4], {i, 4}]

(* Then, we build the system of equations. *)
eqns = Table[(X[i] - U)^2 + (Y[i] - V)^2 + (Z[i] - W)^2 == (R[i] -
       B)^2, {i, 1, 4}]

(* Now we solve it. *)
sols = NSolve[eqns, {U, V, W, B}]

(* Finally, we check the results. *)
eqns /. sols

Out[139]= {(3 - U)^2 + (2 - V)^2 + (-3 - W)^2 == (-4 -
     B)^2, (5 - U)^2 + (1 - V)^2 + (-5 - W)^2 == (-2 -
     B)^2, (5 - U)^2 + (5 - V)^2 + (4 - W)^2 == (-3 -
     B)^2, (4 - U)^2 + (-2 - V)^2 + (1 - W)^2 == (-3 - B)^2}

Out[140]= {{U -> 41.8099, V -> -1.64395, W -> -2.60076,
   B -> 34.9827}, {U -> 4.23504, V -> 2.48516, W -> 0.289612,
   B -> -7.54715}}

Out[141]= {{True, True, True, True}, {True, True, True, True}}

Regards,
-- Jean-Marc


  • Prev by Date: Re: Request for Collective Wisdom...
  • Next by Date: Re: StringMatchQ and Regular Expressions
  • Previous by thread: Re: Solving on mathematica
  • Next by thread: Re: Solving on mathematica