RE: Getting Delayed rules from NSolve
- To: mathgroup at smc.vnet.net
- Subject: [mg14247] RE: [mg14220] Getting Delayed rules from NSolve
- From: "Ersek, Ted R" <ErsekTR at navair.navy.mil>
- Date: Mon, 12 Oct 1998 13:51:32 -0400
- Sender: owner-wri-mathgroup at wolfram.com
Dennis Benjami wrote:
____________________
I am using NSolve to get numerical solutions from a set of simultaneous
equations. The problem I am facing is extracting the physically
reasonable solution from the supplied list of rules. For Example,
In[199]:=
Chop[NSolve[ Elim, {RP1,RP2}] /. P2t ->5 10^-6 ]
Out[199]=
{{RP2 -> -7.26519017625297269`*^-7,RP1 -> 2.36086513207038839`*^-6},
{RP2 -> 0.0000102421050739988284`,RP1 -> 5.26971403312072794`*^-7},
{RP2 -> 3.73302832515359561`*^-7, RP1 -> 2.23274575728650503`*^-7}}
Only the third set is reasonable, given that RP1 and RP2 > 0 and RP1
+RP2 < 1 10^-6.
I would like to use Replace with a /; condition to select a particular
value. However, I can only use /; with delayed Rules (:> instead of
->).
___________________
I don't know why your attempt didn't work because you didn't indicate
what the code was. However, the code below should work. First suppose
'soln' is you set of solutions.
soln={{RP2 -> -7.26519017625297269`*^-7,RP1 ->
2.36086513207038839`*^-6},
{RP2 -> 0.0000102421050739988284`,RP1 -> 5.26971403312072794`*^-7},
{RP2 -> 3.73302832515359561`*^-7, RP1 -> 2.23274575728650503`*^-7}};
Cases[soln,{_->a_,_->b_}/;(a>0&&b>0&&a+b<10^-6)]
Cheers,
Ted Ersek