[Date Index]
[Thread Index]
[Author Index]
Using FindRoot on an equation involving Log terms
*To*: mathgroup at smc.vnet.net
*Subject*: [mg115690] Using FindRoot on an equation involving Log terms
*From*: Andrew DeYoung <adeyoung at andrew.cmu.edu>
*Date*: Tue, 18 Jan 2011 05:51:50 -0500 (EST)
Hi,
I am trying to find the root of a certain expression in Mathematica
version 7:
expr = 110.52499999999998 + (300. - 135.52499999999998/(1 - x)) (1 -
x) - 300. x - 135.52499999999998 Log[1 - x] + 135.52499999999998
Log[x]
It appears to plot fine, for example using Plot[expr, {x, 0, 1}]. The
plot shows that there should be a root at about x=0.85. However, when
I try to find this root, using for example the following:
FindRoot[expr, {x, 0.5}]
I get an error message:
"FindRoot::lstol: The line search decreased the step size to within
tolerance specified by AccuracyGoal and PrecisionGoal but was unable
to find a sufficient decrease in the merit function. You may need
more than MachinePrecision digits of working precision to meet these
tolerances."
and it prints a seemingly incorrect (according to the qualitative form
of the plot) result: {x -> 0.344678}. Only if I use for example
FindRoot[expr, {x, 0.7}]
do I get the seemingly "correct" root: {x -> 0.849823}.
Can you help me see why the FindRoot is getting stuck at {x ->
0.344678} when I use starting values far away from 0.7 or 0.8? I will
ultimately want to find the roots of many similar functions, which may
have more than one "actual" root, so it would be helpful if I could
see why FindRoot[expr, {x, 0.5}] does not give {x -> 0.849823}. (also
when I tried NSolve[expr==0,x], Mathematica will not solve it.)
Thank you,
Andrew DeYoung
Carnegie Mellon University
Prev by Date:
**Re: question about CUDA**
Next by Date:
**Problems Exporting to PDF**
Previous by thread:
**Re: moving equations between Mathematica and TeXShop**
Next by thread:
**Re: Using FindRoot on an equation involving Log terms**
| |