Re: Getting Delayed rules from NSolve
- To: mathgroup at smc.vnet.net
- Subject: [mg14318] Re: Getting Delayed rules from NSolve
- From: "Allan Hayes" <hay at haystack.demon.co.uk>
- Date: Tue, 13 Oct 1998 01:21:31 -0400
- References: <6vs1eh$8du$3@dragonfly.wolfram.com>
- Sender: owner-wri-mathgroup at wolfram.com
The following is the outcome of a short correspondence with Dennis in which he asked for the size to be extendabel Dennis: The following may generalise to what you need (change the 2 in {x,2}): rls= {{RP2 -> -7.26519017625297269`*^-7,RP1 -> 2.36086513207038839`*^-6}, {RP2 -> 0.0000102421050739988284`,RP1 -> 5.26971403312072794`*^-7}, {RP2 -> 3.73302832515359561`*^-7, RP1 -> 2.23274575728650503`*^-7}} Cases[rls, Table[ _ -> ToExpression["foo"<>ToString[x]<>"_"], {x, 2} ]/; luate[ Apply[ And, Table[ 10^(-6) > ToExpression["foo"<> ToString[x]] > 0, {x, 2} ] ] ] ] -7 -7 {{RP2 -> 3.73303 10 , RP1 -> 2.23275 10 }} NOTES: 1) name in name_ and similar must be a symbol. 2) Evaluate is necessary to constructing the condition since Condition has the attribute HoldAll. Allan >On Wed, 7 Oct 1998, Dennis Benjamin wrote: >> Hi All: >> >> I am using NSolve to get numerical solutions from a setof 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 >> ->). Any ideas how to do this? Alternatively, a different approach to >> getting the pair of numbers >> >> 3.73302832515359561`*^-7 >> 2.23274575728650503`*^-7 >> >> from th e above list of rules. >> >> Thanks! >> >> Dennis Benjami >>