|
|
Re: NSolve output
Posted:
Jan 14, 2013 11:27 PM
|
|
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@gmail.com] Sent: Monday, January 14, 2013 1:01 PM Subject: 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@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 >
|
|