Re: How do I assign the solution obtained by FindRoot to a variable?
- To: mathgroup at smc.vnet.net
- Subject: [mg128488] Re: How do I assign the solution obtained by FindRoot to a variable?
- From: Bob Hanlon <hanlonr357 at gmail.com>
- Date: Wed, 24 Oct 2012 03:33:47 -0400 (EDT)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- Delivered-to: l-mathgroup@wolfram.com
- Delivered-to: mathgroup-newout@smc.vnet.net
- Delivered-to: mathgroup-newsend@smc.vnet.net
- References: <20121023045437.AE4F2685C@smc.vnet.net>
Plot can be used to help identify starting values for FindRoot
eqn = Sin[x] + Exp[x];
z = x /.
FindRoot[eqn, {x, 0}]
-0.588533
Plot[eqn, {x, -10, 2}, Epilog -> {Red, AbsolutePointSize[4],
Point[{z, 0}]}]
For negative x, the Sin[x] term will cause the expression to
oscillate. Pick some range of interest
pts = {x, 0} /. Table[
FindRoot[eqn, {x, -n*Pi}],
{n, 0, 12}];
Plot[eqn, {x, -40, 0.75},
Epilog -> {Red, AbsolutePointSize[4],
Point[pts]}]
eqns = {Exp[x - 2] == y, y^2 == x};
Plot[
Evaluate[y /. Solve[#, y] & /@ eqns],
{x, -.5, 2.75},
Frame -> True,
Axes -> False]
pts = {x, y} /.
FindRoot[eqns,
{{x, #[[1]]}, {y, #[[2]]}}] & /@
{{0.1, 0.1}, {2.5, 1.5}}
{{0.019026, 0.137935}, {2.44754, 1.56446}}
Plot[
Evaluate[y /. Solve[#, y] & /@ eqns],
{x, -.5, 2.75},
Frame -> True,
Axes -> False,
Epilog -> {Red, AbsolutePointSize[4],
Point[pts]}]
You can also use Ted Ersek's Root Search package
http://forums.wolfram.com/mathgroup/archive/2012/Apr/msg00444.html
Bob Hanlon
On Tue, Oct 23, 2012 at 12:55 PM, Nan-Sheng Lin <nansheng.lin at gmail.com> wrote:
> Thank you very much for all the responses I received. I did not realize
> that I only replied to the sender, and not cc-ing the group.
>
> Anyway, all the responses have been helpful, and it is clear to me now. I
> do have a follow-up question - how do I use FindRoot[] or any other function
> to find ALL the roots of a non-polynomial function within a specified range?
>
> Thanks!
>
> NS
>
> On Tue, Oct 23, 2012 at 8:11 AM, Bob Hanlon <hanlonr357 at gmail.com> wrote:
>>
>> eqn = Sin[x] + Exp[x];
>>
>> z = x /.
>> FindRoot[eqn, {x, 0}]
>>
>> -0.588533
>>
>> eqn /. x -> z
>>
>> 0.
>>
>> eqns = {Exp[x - 2] == y, y^2 == x};
>>
>> {r, s} = {x, y} /.
>> FindRoot[eqns,
>> {{x, 1}, {y, 1}}]
>>
>> {0.019026, 0.137935}
>>
>> eqns /. {x -> r, y -> s}
>>
>> {True, True}
>>
>>
>> Bob Hanlon
>>
>>
>> On Tue, Oct 23, 2012 at 12:54 AM, NS Lin <nansheng.lin at gmail.com> wrote:
>> > I would like to store the root/solution obtained by the FindRoot[]
>> > function to a variable. How can I do that?
>> >
>> > Thanks!
>> >
>> > NS
>> >
>
>
- References:
- How do I assign the solution obtained by FindRoot to a variable?
- From: NS Lin <nansheng.lin@gmail.com>
- How do I assign the solution obtained by FindRoot to a variable?