Re: How to get a positive solution from Solve Command
- To: mathgroup at smc.vnet.net
- Subject: [mg67873] Re: How to get a positive solution from Solve Command
- From: "David W. Cantrell" <DWCantrell at sigmaxi.net>
- Date: Tue, 11 Jul 2006 05:58:42 -0400 (EDT)
- References: <e8tcvo$2ga$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
abdou.oumaima at hotmail.com wrote:
> Hi David,
> You can see in the same topic
It's not the same *thread*. Regrettably, the name was changed (by you,
perhaps?). The first thread was "Beginner--How...", while this thread
is "How..." It's best to keep the same topic in the same thread, and
so it's best not to change the name.
> what Bob Halon proposed me to solve this
> equation. Thank you for your helper.
Bob helped you to do what you asked, and that's fine, of course.
But I was guessing that, given c in [0,1], you _actually_ wanted a
reasonable approximation of the nonnegative solution of
1 - c ArcTanh[x]/x == 0. Your method, which Bob helped you to implement,
does not approximate that solution well unless c happens to be quite
close to 1.
As an example, suppose that c = 1/10, so we're wanting to approximate the
nonnegative solution of 1 - 1/10 ArcTanh[x]/x == 0. Let's compare three
methods: a highly accurate one using FindRoot, my approximation and yours.
In[1]:= x = x /. FindRoot[1 - 1/10 ArcTanh[x]/x == 0, {x, .99},
WorkingPrecision -> 20]; Chop[x]
Out[1]= 0.99999999587769242372
In[2]:= N[Sqrt[1 - Exp[(1 - 1/c)(2 + c)]] /. c -> 1/10, 20]
Out[2]= 0.99999999690397615388
In[3]:= N[Sqrt[3/c - 3] /. c -> 1/10, 20]
Out[3]= 5.1961524227066318806
As you can see, the last result is hardly a reasonable approximation.
David