| Author |
Comment/Response |
Bill Simpson
|
01/20/13 9:02pm
In Response To 'Re: Re: Re: Re: Solve equation(s) with a List a...' --------- Excellent! Now we have a specific number that I think shows the essence of your problem.
In[1]:= mag=1.633333333333*10^-14;
w=0.005;
d:=148*10^(-9);
mu0:=4*Pi*10^(-7);
B:=5/10000;
FindRoot[(w*d*B+mu0*mag)/(2*w*B)-x*Tanh[d/(2*x)],{x,1*10^(-8)}];
(w*d*B+mu0*mag)/(2*w*B)-x*Tanh[d/(2*x)]
Out[7]= 7.400000410501439`*^-8 - x Tanh[37/(500000000 x)]
In[8]:= Plot[%,{x,1,12}]
Out[8]= ...PlotSnipped...
Now I cannot be absolutely positive here, because numerical analysis can be a delicate process, but what I think you may be seeing at here is that the combination of extremely large and extremely small coefficients and the limited precision of the approximate decimal numbers you are dealing with algorithm being used behind the scene by FindRoot means that when the value of mag gets small enough and the value of x gets large enough that the near horizontal behavior of your function with larger x convinces the FindRoot algorithm that it has found a horizontal flat spot in your curve, gives you the warning and bails out.
As you can see, Plot is no more happy with the result than FindRoot is. But if the plot can be depended on then it is clear that the result is not zero anywhere near x=10.
Consider this
In[10]:= mag=1.633333333333*10^-14;
w=0.005;
d:=148*10^(-9);
mu0:=4*Pi*10^(-7);
B:=5/10000;
Table[{x,(w*d*B+mu0*mag)/(2*w*B)-x*Tanh[d/(2*x)]},{x,1,20}]
Out[13]= {
{1, 4.105014524035853`*^-15},
{2, 4.105014431391624`*^-15},
{3, 4.105014418156734`*^-15},
{4, 4.1050144049218444`*^-15},
{5, 4.1050144049218444`*^-15},
{6, 4.105014391686955`*^-15},
{7, 4.105014391686955`*^-15},
{8, 4.105014391686955`*^-15},
{9, 4.105014391686955`*^-15},
{10, 4.105014391686955`*^-15},
{11, 4.105014391686955`*^-15},
{12, 4.105014391686955`*^-15},
{13, 4.105014391686955`*^-15},
{14, 4.105014391686955`*^-15},
{15, 4.105014391686955`*^-15},
{16, 4.105014391686955`*^-15},
{17, 4.105014391686955`*^-15},
{18, 4.105014391686955`*^-15},
{19, 4.105014391686955`*^-15},
{20, 4.105014391686955`*^-15}}
If that was your data and you had to find a zero in it then what would you do?
URL: , |
|