Mathematica 9 is now available
Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2013

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

Search the Archive

Re: NSolve output

  • To: mathgroup at smc.vnet.net
  • Subject: [mg129443] Re: NSolve output
  • From: "Trichy V. Krishnan" <biztvk at nus.edu.sg>
  • Date: Mon, 14 Jan 2013 23:28:04 -0500 (EST)
  • Delivered-to: l-mathgroup@mail-archive0.wolfram.com
  • Delivered-to: l-mathgroup@wolfram.com
  • Delivered-to: mathgroup-newout@smc.vnet.net
  • Delivered-to: mathgroup-newsend@smc.vnet.net
  • References: <20130113025310.BFB386957@smc.vnet.net>

Hi:

I have a simultaneous set of equations in two variables, namely, s1 and s2.  See below.

s1 =.; s2 =.; dpi1s1 =.; dpi2s2 =.;
dpi1s1 = 0.3125 - 0.0645 s1^2 + 0.0083205 s1^3 + 0.125 s2^2 +
   s1 (-0.26 + (-0.03225 + 0.0645 s2) s2);
dpi2s2 = 0.3125 +
   s2 (-2.4375 + (-0.25 + 0.0645 s1) s1 + (-0.375 + 0.5 s2) s2);


NSolve yields 7 pairs but I want to pick the pair(s) where both s1 and s2 are in (0, 1) domain. I am using a laborious method as follow, but can I get this in one step? Thanks.

trichy

soln = NSolve[dpi1s1 == 0 && dpi2s2 == 0, {s1, s2}, Reals];
list = {s1, s2} /. soln;
list1 = {{0, 0}};
Do[If[list[[i, 1]] > 0,
   If[list[[i, 1]] < 1, If[list[[i, 2]] > 0, If[list[[i, 2]] < 1,
      list1[[1, 1]] = list[[i, 1] ]]]]], {i, Length[list]}];
Do[If[list[[i, 1]] > 0,
   If[list[[i, 1]] < 1, If[list[[i, 2]] > 0, If[list[[i, 2]] < 1,
      list1[[1, 2]] = list[[i, 2] ]]]]], {i, Length[list]}];
s1 = list1[[1, 1]]; s2 = list1[[1, 2]];
{s1, s2}






-----Original Message-----
From: Bob Hanlon [mailto:hanlonr357 at gmail.com]
Sent: Monday, January 14, 2013 1:01 PM
To: mathgroup at smc.vnet.net
Subject: [mg129443] Re: NSolve output

$Version

"9.0 for Mac OS X x86 (64-bit) (November 20, 2012)"

a = x z + 2 x y + 2 y z;
v = x y z;

a2 = a /. x -> 2 z;
v2 = v /. x -> 2 z;

NSolve[{a2 == 60, v2 == 40, x == 2 z, x > 0},  {x, y, z}]

{{x -> 5.1156, y -> 3.05701, z -> 2.5578}, {x -> 7.46083,
  y -> 1.43719, z -> 3.73042}}


Solve[{a2 == 60, v2 == 40, x == 2 z, x > 0},
  {x, y, z}, Reals] // N

{{x -> 5.1156, y -> 3.05701, z -> 2.5578}, {x -> 7.46083,
  y -> 1.43719, z -> 3.73042}}


{Reduce[{a2 == 60, v2 == 40, x == 2 z, x > 0},
    {x, y, z},
    Backsubstitution -> True] // N // ToRules}

{{x -> 5.1156, y -> 3.05701, z -> 2.5578}, {x -> 7.46083,
  y -> 1.43719, z -> 3.73042}}


Bob Hanlon


On Sat, Jan 12, 2013 at 9:53 PM, Berthold Hamburger <b-hamburger at artinso.co=
m> wrote:
> Hello,
>
> I want to solve two simple equations with NSOLVE to calculate the
> dimensions of a rectangular box that is open on top. The length of the
> box is twice the width and the volume and area of the box are
> respectively 40 cubic feet and 60 square feet.
>
> I defined the area and volume:
> a = xz + 2xy + 2yz
> v = xyz
>
> then substituted x with 2z:
>
> a2 = a /. x->2z
> v2 = v /. x->2z
>
>
>
> a2 = 6 y z + 2 z^2
> v2 = 2 y z^2
>
> solved with NSolve:
> step1 = NSolve[{a2 == 60, v2 == 40}, {y, z}, Reals] [[1,2]] //C=
olumn
>
> which returns the results
> {y->3.05701,z->2.5578}
>
> I would like to get an output that returns values for all 3 variables
> x,y,z  as in
>
> {x->5.1156,y->3.05701,z->2.5578}
>
> but somehow cannot find a way to do it
>
> What would be the correct way for doing that?
>
> Regards
>
> Berthold Hamburger
>




  • References:
    • NSolve output
      • From: Berthold Hamburger <b-hamburger@artinso.com>
  • Prev by Date: Re: bad PDE solution...
  • Next by Date: Re: NSolve output
  • Previous by thread: Re: NSolve output
  • Next by thread: Re: NSolve output