Re: unwanted Complex result
- To: mathgroup at smc.vnet.net
- Subject: [mg91598] Re: unwanted Complex result
- From: Jean-Marc Gulliet <jeanmarc.gulliet at gmail.com>
- Date: Thu, 28 Aug 2008 07:39:49 -0400 (EDT)
- Organization: The Open University, Milton Keynes, UK
- References: <g95k8a$543$1@smc.vnet.net>
John Rivers wrote:
> Solve[
> (Sqrt[speed ^ 2 - windx ^ 2] + windy) / a speed ^ 2 + b speed + c ==
> distance / height
> , speed]
>
> this works but returns 4 solutions that all return complex numbers
>
> I need a real number
You could use either *Reduce[eqns, vars, Reals]* with a domain
specification (third argument) or *Cases[]* as in the following:
With[{windx = 10, windy = 2, a = 3, b = 5, c = 7, distance = 100,
height = 40},
Module[{eqn = (Sqrt[speed^2 - windx^2] + windy)/a speed^2 + b speed +
c == distance/height},
Print[N[Solve[eqn, speed]]];
Print[N[Reduce[eqn, speed, Reals]]];
Print[N[
Cases[Solve[eqn, speed],
s_ /; (Chop[Im[speed /. s]] == 0) -> s]]]]]
{{speed->-0.678225-0.300835 I},{speed->-0.678225+0.300835 I},
{speed->0.385283-1.72241 I},{speed->0.385283+1.72241 I}}
False
{}
Regards,
-- Jean-Marc