6 votos

Por qué WolframAlpha Resultado es Diferente?

http://www.wolframalpha.com/input/?i=x%3D10%5E-15%3B+%28%5Ex-1%29%2Fx

Cuando hago clic en Approximate Form en el resultado, el resultado es:

1.11022

pero cuando hago clic en More Digit:

1.000000000000000500000000000000166666666666666708333333333333341666666666666668055555555555555753968

Por qué el número es diferente? (en lugar de mostrar más dígitos) y cuál es la solución real?

4voto

Chris Ballance Puntos 17329

La primera de ellas es evaluada usando WolframAlpha de la función exponencial. Ahora no estoy seguro de cómo $\exp$ es implementado en WA, pero en Java, por ejemplo, si $r$ es pequeña, $\exp(r)$ se aproxima como: \begin{align*} \exp(r) &= 1+r+\frac{rR_1}{2-R_1},\\ R_1 &= r-\left(\frac{r^2}6 + P_2\,r^4 + P_3\,r^6 + P_4\,r^8 + P_5\,r^{10}\right) \end{align*} donde $|P_2|,\ldots,|P_5|\ll1$. Por lo tanto, si $r=10^{-15}$ y de punto flotante de doble precisión aritmética se utiliza, $\frac{rR_1}{2-R_1}$ le cayó y, por tanto, $\exp(r)$ que será igual al resultado de almacenamiento de $1+r$ en doble precisión, es decir,$1+2^{-50}+2^{-52}\approx1+1.11022\times10^{-15}$. Por lo tanto $\dfrac{e^r-1}{r}=\dfrac{2^{-50}+2^{-52}}{10^{-15}}\approx1.11022$. (Matlab también da el mismo número.) Esto explica el resultado de la primera. No tengo idea de cómo el segundo resultado fue calculado.

3voto

Brian Hinchey Puntos 1112

No estoy completamente seguro pero creo que este es un problema de la doble punto flotante de precisión. Si sólo calcular con una precisión de $10^{-16}$ (llamados precisión de la máquina) de obtener siempre los errores en el resultado. Si elige más dígitos se calculará con una mayor precisión y el resultado final será el más cercano a la solución exacta.

3voto

Tracker1 Puntos 279

Las aproximaciones son incorrectos y artefacto de redondeo y los errores de precisión. Mejor empezar con la expansión de $e^x = 1 + x + \frac{x^2}2 + \frac{x^3}{3!} \dots$ Su función de $\frac{e^x-1}x = 1 + \frac{x}2 + \frac{x^2}{3!}+\dots$ Sustituir x y truncar la serie basada en su precisión deseada.

ps. En WolframAlpha si sustituye $x=10^{-14}$ obtendrá un resultado de menos de $1$, lo cual es un disparate.

3voto

Rex Kerr Puntos 541

Usted está viendo exactamente la expansión exponencial en ambos casos, se limita a la disposición de precisión, la cual es calculada con una de 64 bits de doble en el caso predeterminado y cientos de dígitos en el "Más Dígitos".

Vamos a intentarlo con la mano: $$e^x \approx 1 + x + {x^2 \over 2!} + {x^3 \over 3!} + \dots$$

Con una cama doble: $1 + 10^{-15} + 10^{-30}/2 + \dots$ y disponemos de 53 bits de $\approx$ 17.46 dígitos decimales de precisión, por lo que nos puede caer el $x^2$ y más términos.

Ahora, ¿qué es $1+10^{-15}$ en la versión de 64 bits de punto flotante la representación? Bueno, ciertamente no se puede representar exactamente. Por el contrario, tenemos un 53 bits del número binario que intenta llegar lo más cerca posible. Tenga en cuenta que $2^{-50}$ + $2^{-52}$ = $1.110223\dots \cdot 10^{-15}$, así que eso es lo mejor que podemos hacer.

Restar. $1$ y te dejan con esto como un término de error.

Los cientos de dígitos es la correcta. Usted puede ver el $10^{-15}$ plazo, la mitad-$10^{-30}$ plazo (5 y, a continuación, un montón de ceros), el cúbicos plazo-es $1 over 6$, de modo de obtener 16666 en la expansión decimal y, a continuación, la cuártica término viene en la parte superior de la es $6666666... + 0416666... \rightarrow 70833333$ etc..

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X