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