He sabido que la exactitud se basa en la cantidad de redondeos (o multiplicaciones) que se producen, pero de lo que puedo decir, ambas ecuaciones requieren la misma cantidad.
Mi primer pensamiento fue relacionado $(1+x)^2$ $1+2x+x^2$ y decir que hay dos redondeos obligatorios que sucedan, pero que la ecuación también es equivalente a $(x+2)x+1$, por lo que no tendría sentido hacer mi punto estándar de.
Cualquier ayuda será muy apreciada, gracias.
¿Por qué es menos preciso que $(1+x)^2$ pequeña $ (x+2)x+1$ $x$?
- Preguntado el 20 de Septiembre, 2013
- Cuando se hizo la pregunta
- 170 visitas
- Cuantas visitas ha tenido la pregunta
- 3 Respuestas
- Cuantas respuestas ha tenido la pregunta
- Solucionado
- Estado actual de la pregunta
Respuestas
¿Demasiados anuncios?Vamos a presuponer que $x \approx 10^{-(n-k)}$ donde $n$ es el número de dígitos significativos recordar (en el doble de la aritmética, esto es aproximadamente el $16$) y $k$ es un pequeño entero positivo. Ahora, compara:
$1+x$ sólo ha $k$ los dígitos significativos de $x$.
$x+2$ sólo ha $k$ los dígitos significativos de $x$.
No es realmente diferente. Pero, vamos a ir en:
$(1+x)^2$ es un cuadrado de un número que sólo ha $k$ los dígitos significativos de $x$, así que sólo los $k$ dígitos de la materia.
$(x+2)x$ es un número con sólo $k$ los dígitos significativos de $x$ multiplicado por el conjunto de la $x$ (con la multiplicación, no se pierde dígitos significativos), por lo que el conjunto de $x$ es importante (no completamente, por supuesto, pero hasta un cierto punto; hay que recordar que una buena parte de ella - $n-k$ dígitos - se perdió en $x+2$).
Ahora, para el final de "+1":
- $(x+2)x + 1$ ha perdido muchos de los dígitos de nuevo. Sin embargo, si $(x+2)x - 2$ tiene más dígitos significativos de $x$, (por ejemplo, si el primer dígito significativo de $x$ $4$ o más), de más de $x$ ha sobrevivido. Más precisamente, en ese caso, $k+1$ dígitos de $(x+2)x$ han sobrevivido, y este dígito más tiene algún impacto de $x$, como se explicó anteriormente.
Como ejemplo, aquí está un poco de C código:
#include <stdio.h>
int main() {
double x = 0.000000000000654, t;
t = 1+x;
t *= t;
printf("(1+x)^2 = %.16f\n", t);
t = x+2;
t *= x;
t += 1;
printf("(x+2)x+1 = %.16f\n", t);
t = x*x;
t += 2*x;
t += 1;
printf("x^2+2x+1 = %.16f\n", t);
t = 1;
t += 2*x;
t += x*x;
printf("1+2x+x^2 = %.16f\n", t);
return 0;
}
Resultados:
(1+x)^2 = 1.0000000000013078
(x+2)x+1 = 1.0000000000013081
x^2+2x+1 = 1.0000000000013081
1+2x+x^2 = 1.0000000000013081
En Mathematica, calculada con la $20$ dígitos de precisión:
x = 654/10^16;
N[(x + 1)^2, 20]
El resultado:
1.0000000000001308000
Tenga en cuenta que $2 \cdot 654 = 1308$. Calculada con la $33$ dígitos de precisión, por encima de los rendimientos
1.00000000000013080000000000427716
así que obviamente han calculado el $2x$ parte con mejor precisión en los últimos $3$ expresiones (en mi código C) que en la primera.
Una heurística explicación: supongamos que $x$ es muy pequeña; a continuación, el punto flotante de aproximación a $1+x$ será a menudo erróneas debido a que la 'flota de redondeo': por ejemplo, suponga que tiene 10 dígitos de core 'float' precisión y que $x\approx 10^{-8}$; a continuación, $1+x$ va a perder todo, pero dos dígitos de $x$'s de la precisión, y cuando nos cuadrado de $1+x$, a continuación, el resto de los dígitos estancia perdido. Por el contrario, cuando la adición de $2+x$ podemos perder otro poco de precisión en un principio, pero el resultado se multiplica por $x$ e esta multiplicación de las ganancias de la 'veracidad' de su segundo $x$ factor.
(Por otro lado, el hecho de que $1$ se añade a continuación el resultado me deja escéptico, porque mucho de que la precisión es de inmediato perdió de nuevo; me gustaría que esta explicación mucho más si se comparan por ejemplo, $(x+2)x$ vs $(x+1)^2-1$.)
En la aritmética de intervalos, esta pregunta se responde de manera diferente de lo que usted puede esperar. En particular, la precisión de cada fórmula puede ser rigurosamente comprobados directamente por la evaluación de cada vez más pequeños intervalos hasta el límite de precisión del sistema.
Aquí está un ejemplo de cómo funciona:
Dado $x=[a,b]$ como el intervalo de ser evaluados con $a\lt b$, evaluar las siguientes:
$$f_1(x)=(x+1)^2$$
$$f_2(x)=(x+2)x+1$$
$$f_3(x)=x^2+2x+1$$
$$f_1([a,b])=([a,b]+1)^2=[a+1,b+1]^2=[\min((a+1)^2,(b+1)^2),\max((a+1)^2,(b+1)^2)]$$
$$f_2([a,b])=([a,b]+2)[a,b]+1=[a+2,b+2][a,b]+1=[\min(a(a+2),a(b+2),b(a+2),b(b+2))+1,\max(a(a+2),a(b+2),b(a+2),b(b+2))+1]$$
$$f_3([a,b])=[a,b]^2+2[a,b]+1=[\min(a^2,b^2),\max(a^2,b^2)]+[2a,2b]+1=[\min(a^2,b^2)+2a+1,\max(a^2,b^2)+2b+1]$$
Dado que sólo sabemos que $a\lt b$, $f_1$ y $f_3$ presentan la mayor similitud, pero debería ser obvio que si $|a|\gt|b|$$f_1\ne f_3$. Si decimos que una medida de la precisión es la relación de la longitud de la entrada de intervalo en comparación a la longitud del intervalo de salida de datos, a continuación, $f_1$ tiene una exactitud superior al $f_3$ total.
Esta no es la mejor demostración de cómo la aritmética de intervalos funciona, pero debe mostrar cómo los intervalos pueden ser utilizados en la evaluación de funciones. En particular, es claro que la exactitud es la opuesta a la que se ha demostrado en otras respuestas aquí.
Preguntas relacionadas
- ¿Por qué todavía hacemos matemáticas simbólicas?
- métodos de búsqueda de raíz invertir numéricamente una función
- Evitar la pregunta de cancelación numérica para$\sin x -\sin y$ para$x \approx y$
- ¿Cómo puedo calcular el 2º plazo de la continuación de la fracción de la potencia de la torre ${^5}e=e^{e^{e^{e^{e}}}}$
- Aproximar el valor de una suma poco a poco convergiendo de $\sum|\sin n| ^ n/n$
- La informática (en un equipo) de los primeros (no trivial) los ceros de la función zeta de un campo de número
- La prueba de que ${\left(\pi^\pi\right)}^{\pi^\pi}$ (and now $\pi^{\left(\pi^{\pi^\pi}\right)}$) es un no entera
- ¿Cuánto significa integración simbólica a las matemáticas?
- ¿Cuál es la intuición detrás de la "rigidez de los sistemas"?
- Operaciones aritméticas de punto de flotante cuando fila reducción de matrices
- Explicar este código para calcular $\log(1+x)$
Preguntas Destacadas
- ¿Es el conjunto de todas las fórmulas materiales decidible?
- Prueba límite de $\displaystyle \frac{1}{n+1}+\frac{1}{n+2}+\ldots+\frac{1}{n+n}$ existe y se encuentra entre $0$y $1$.
- Distribución de $\sum_{i=1}^d | \mathbf{u}^H \mathbf{F} \mathbf{v}_i |^2$ si $| \mathbf{u}^H \mathbf{F} \mathbf{v}_i |^2$ se distribuye exponencial
- Libro consejos para cepillar para arriba en cálculo y SEEP
- Utilizando $\frac{1}{A+i\epsilon} = PV\frac{1}{A}-i\pi\delta(A)$ en integrales de Feynman
- Cómo encontrar este $\frac{1}{{{p}_{1}}}+\frac{1}{{{p}_{2}}}+...+\frac{1}{{{p}_{n}}}<10$