Re: Solve
- To: mathgroup at smc.vnet.net
- Subject: [mg57907] Re: Solve
- From: "Jean-Marc Gulliet" <jeanmarc.gulliet at gmail.com>
- Date: Sun, 12 Jun 2005 04:34:31 -0400 (EDT)
- References: <d8e56e$gp1$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Hi Rick, Solve[] tries to get all solutions assuming that the variables and coefficients are complexes. Therefore In[1]:= eqn = -0.13249751088801667 + 0.06632187456026009*r^1 + 0.06629492661634433*r^2 - 0.00005387198125569* r^3 - 0.00002692675947693*r^4 + 1.324872853*^-8*r^5 + 4.3598855*^-9*r^6 - 3.7184*^-13*r^7 - 4.3768*^-13*r^8 + 1.72*^-15*r^9; In[2]:= answer = Solve[eqn == 1.83303, r] Out[2]= {{r -> -61.90357130844081 - 40.91171644953396*I}, {r -> -61.90357130844081 + 40.91171644953396*I}, {r -> -59.82559087206599}, {r -> -6.0000033545518106}, {r -> 4.999998407310261}, {r -> 73.55788661519043}, {r -> 82.3157609927675 - 32.39241011754585*I}, {r -> 82.3157609927675 + 32.39241011754585*I}, {r -> 200.90844611453358}} In[3]:= eqn /. Answer Out[3]= {1.83303000000015 - 5.684341886080802*^-14*I, 1.83303000000015 + 5.684341886080802*^-14*I, 1.8330300000000328, 1.8330300000000006, 1.8330300000000004, 1.8330299999997948, 1.8330300000008037 + 4.831690603168681*^-13*I, 1.8330300000008037 - 4.831690603168681*^-13*I, 1.833030000096187} In[4]:= Chop[%] Out[4]= {1.83303000000015, 1.83303000000015, 1.8330300000000328, 1.8330300000000006, 1.8330300000000004, 1.8330299999997948, 1.8330300000008037, 1.8330300000008037, 1.833030000096187} the rules returned by Solve are all correct solutions up to a certain degree of precision. Solve does not have any ideas about the restrictions you want to impose to the variable r, corresponding to the constraints of your model indeed, so it returns all nine solutions. You can use Reduce to impose some condition on the variable r In[5]:= Reduce[{eqn == 1.83303, 0 <= r <= 16}, r] Out[5]= r == 4.999998407310261 although you will bet a warning message about the usage of non-exact coefficients, or In[6]:= FindInstance[{eqn == 1.83303, 0 <= r <= 16}, r] Out[6]= {{r -> 4.999998407310261}}