Manchmal ist es besser die reellen Zahlen mit endlicher Genauigkeit
mittels Rationalize in Zahlen mit unendlicher Genauigkeit umzuwandeln:
In[1]:= Log[10,Rationalize[#]]&/@{0.000001,0.00001,.0001,0.001,
0.001,0.01,0.1,1.,10.,100.,1000.,10000.,100000.,1000000.,10000000.}
Out[1]= {-6, -5, -4, -3, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7}
MfG,
Rolf Mertig
Mertig Consulting
On Sunday 06 October 2002 08:17 pm, Wolfgang Ludwig wrote:
> Liebe Mathematica Kenner
>
> Eine kleine Eigenheit von Mathematica macht mir zu schaffen.
> Offensichtlich rechnet Mathematica bei Logarithmen zur Basis 10 bei
> vollen 1000ern anders als sonst:
>
> SetPrecision[Log[10.,#],40]&/@{0.000001,0.00001,.0001,0.001,
> 0.001,0.01,0.1,1.,10.,100.,1000.,10000.,100000.,1000000.,10000000.}
> Precision/@%
>
> {-5.999999999999999111821580299874767661095,
> -5.000000000000000000000000000000000000000,
> -3.999999999999999111821580299874767661095,
> -2.999999999999999555910790149937383830547,
> -2.999999999999999555910790149937383830547,
> -1.999999999999999555910790149937383830547,
> -0.999999999999999777955395074968691915274,
> 0,
> 1.000000000000000000000000000000000000000,
> 2.000000000000000000000000000000000000000,
> 2.999999999999999555910790149937383830547,
> 4.000000000000000000000000000000000000000,
> 5.000000000000000000000000000000000000000,
> 5.999999999999999111821580299874767661095,
> 7.000000000000000000000000000000000000000}
>
> {40,40,40,40,40,40,40,Infinity,40,40,40,40,40,40,40}
>
> Wie kann man erreichen, dass der Logarithmus zur Basis 10 von 1000
> tatsächlich 3 ist?
>
> Danke für jeden Hinweis.
>
> Wolfgang Ludwig