MathGroup Archive 2004

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: how can I solve a function Erfc

  • To: mathgroup at smc.vnet.net
  • Subject: [mg48441] Re: how can I solve a function Erfc
  • Subject: [mg48441] Re: how can I solve a function Erfc
  • From: "David W. Cantrell" <DWCantrell at sigmaxi.org>
  • Date: Sun, 30 May 2004 06:12:03 -0400 (EDT)
  • Sender: owner-wri-mathgroup at wolfram.com

montgermont.aude at ec-lille.fr (aude) wrote:
> I have to solve this function:
>
> Erfc[L/(4*(Dg*t)^(1/2))]= 0.9
>
> Dg is constant.
>
> Dg=5*10^5
>
> I want to plot t as a function of L.

If plotting t as a function of L is all you want to do, you can just use
ImplicitPlot. But trying to use Mathematica to solve an equation of the
form

 Erfc[L/(4*(Dg*t)^(1/2))] == k

for t in terms of L, Dg, and k raises some interesting points, one of which
I suspect is a bug.

First, note that Mathematica has a built-in function InverseErfc. With that
in mind, you might think that one of the following would work, but alas,
no.

In[1]:= Solve[Erfc[L/(4*(Dg*t)^(1/2))] == k, t]
...
Out[1]= {}

In[2]:= Reduce[Erfc[L/(4*(Dg*t)^(1/2))] == k, t]
...
Out[2]= Reduce[Erfc[L/(4*Sqrt[Dg*t])] == k, t]

But it seems that we should be able, trivially, to assist Mathematica by
rewriting the equation using InverseErfc. (Note that I've now used your
specific k value, so that there is no doubt that InverseErfc is defined
there.)

In[3]:= Solve[L/(4*Sqrt[Dg*t]) == InverseErfc[9/10], t]
Out[3]= {}

Surely this is a bug. The solution for t should have been

 L^2/(16*Dg*InverseErf[Infinity, -(9/10)]^2)

which, BTW, is obtainable with Reduce. I can't imagine why Solve didn't
work there!

David Cantrell


  • Prev by Date: Re: Removing non-numeric characters from a list
  • Next by Date: Re: Ted Ersek's Mathematica Tips Updated
  • Previous by thread: Re: how can I solve a function Erfc
  • Next by thread: Re: how can I solve a function Erfc