Académique Documents
Professionnel Documents
Culture Documents
Es sabido que en la recta real, entre dos puntos dados hay infinitos números
reales. También es sabido que no existe el 'menor número que es estrictamente
positivo'. Esto no ocurre en Matlab, ya que sólo puede representar un número
finito de números.
Por defecto Matlab representa los números con precisión finita, es decir con
cierta cantidad de cifras significativas y un exponente. (Como este exponente
permite colocar el punto decimal en distintas posiciones se dice que la
representación es en 'punto flotante'.)
8.8818e-016
b =
7.0000
ans =
8.8818e-016
ans =
0
Errores de cancelación
Por defecto Matlab muestra sólo unos pocos decimales de los resultados. Para
poder apreciar los errores de cancelación, usaremos el comando format long,
que hace que muestre más decimales. (Para volver al formato usual con menos
decimales usaremos format short)
pi
format long
pi
ans =
3.1416
ans =
3.141592653589793
0.333333333333330
a2 =
0.333333333333319
Podemos ver que Matlab no nos muestra los valores que hemos introducido.
En los valores mostrados las cifras 298 del número a1 han sido redondeadas a
300 lo cual es un error en la cifra decimocuarta. Las cifras 187 del número a2
han sido redondeadas a 190 lo cual es un error en la cifra decimoquinta.
a1
a2
a1 =
0.333333333333330
a2 =
0.333333333333319
Si restamos 'a mano' los valores exactos de a1 y a2, el resultado es 1.11e-014,
sin embargo Matlab proporciona un valor cuya quinta cifra significativa es
erronea. Observe como hemos pasado de errores en la cifra decimocuarta a
errores en la quinta cifra.
a1-a2
ans =
1.110223024625157e-014
1.905249806888745
v2 =
1.905249806888747
-1.998401444325282e-015