RE: How to use Rules from Solve and FindRoot
- To: mathgroup at smc.vnet.net
- Subject: [mg44804] RE: [mg44750] How to use Rules from Solve and FindRoot
- From: "David Park" <djmp at earthlink.net>
- Date: Thu, 27 Nov 2003 11:38:31 -0500 (EST)
- Sender: owner-wri-mathgroup at wolfram.com
Glenn,
A common question. In solving equations, Mathematica always returns the
solutions as a rule or sets of rules. If you save these they are convenient
to use in evaluating expressions.
Here is an example.
xsol = FindRoot[Cos[x] == x, {x, 1}]
{x -> 0.739085}
Then you can use xsol in evaluating an expression, using the ReplaceAll
operator "/.". For example,
(1 - x)/x^2 /. xsol
0.47765
Or you could Set a value for x by using an immediate replacement.
x = x /. FindRoot[Cos[x] == x, {x, 1}]
0.739085
Now any expressions involving x will be immediately evaluated, without
having to do a replacement.
(1 - x)/x^2
0.47765
Which method is better? It is a matter of taste and what is most convenient
for you. The first method is more controlled. You can manipulate symbolic
expressions involving x and substitute its value at the point you wish. The
point is that xsol, or whatever longer name you choose, is less likely to be
used as a symbolic variable in your work.
The second method is more direct but you can no longer use x as a symbolic
variable - until you Clear it, in which case you can't substitute its value
again - until you reset it.
David Park
djmp at earthlink.net
http://home.earthlink.net/~djmp/
From: GlennRoberts at hbosts.com [mailto:GlennRoberts at hbosts.com]
To: mathgroup at smc.vnet.net
hi all
i have used the FindRoot function and it returns an output:
{sd -> 10} say
how do i get the output to return it without the sd -> bit ?
thanks for help
Glenn Roberts - HBOS Treasury Services
Interest Rate Derivatives Trading
glennroberts at hbosts.com - 020-7574-8602
33 Old Broad Street, London, EC2N 1HZ