Re: system of simultaneous equations
- To: mathgroup at smc.vnet.net
- Subject: [mg22948] Re: [mg22895] system of simultaneous equations
- From: "Tomas Garza" <tgarza at mail.internet.com.mx>
- Date: Fri, 7 Apr 2000 02:54:31 -0400 (EDT)
- Sender: owner-wri-mathgroup at wolfram.com
David Braunholtz wrote: > WHile I've got the attention of a Mathematica expert, I am wanting to > select a single root of a system of simultaneous equations (with > positive values for all 3 variables) - and (being new to mathematica) > cannot work out how to do this. I successfully get a list of roots, but > cannot make the (you would think) easy step to reduce the list to > only (positive) roots. Any help VERY gratefully received. I have > searched in Mathgroup at Wolfram without finding anything. Bear in mind that Solve gives solutions in terms of rules of the form x -> sol. To give an example, let In[1]:= r := Random[Integer, {1, 9}]; In[2]:= sols = Solve[ r x + r y + r z == r && r x + r y + r z == r && r x + r y + r z == r, {x, y, z}] // Flatten Out[2]= {x -> 4, y ->-49/3, z -> 25/3} This is a list of rules, each giving the value of the corresponding variable. Each member of this list is a list, too. For example, In[3]:= sols[[1]] Out[3]= x -> 4 and In[4]:= sols[[1, 2]] Out[4]= 4 If you want a list of just the numerical values of the solutions, take In[5]:= vals = #[[2]] & /@ sols Out[5]= {4,-49/3, 25/3} and if you want to pick only the positive ones, use Select: In[3]:= Select[vals, # > 0 &] Out[3]= {4, 25/3} Tomas Garza Mexico City