Practico 2 - Ejercicio 3

Re: Practico 2 - Ejercicio 3

de Javier Peraza Martiarena -
Número de respuestas: 0
Hola Diego,

eso es un tema de cómo se manejan las multiplicaciones de los elementos en general y de cómo se cortan las expresiones de los números. En el caso de la versión que tengo de MatLab, diag(U) me muestra bien el 0, pero el prod(diag(U)) es el mismo que el tuyo. En cualquier caso, el problema está en la manipulación de los números dentro de lutx. Está siempre el problema que un valor es \pm \epsilon_M, y justo en este caso hay que tener cuidado porque estamos restando números muy cercanos entre sí que deberían dar 0 pero no dan. Por ejemplo,

>> a = 1/3
a =
0.333333333333333
>> round(a,15)
ans =
0.333333333333333
>> ans*3
ans =
0.999999999999999
>> a*3
ans =
1

Observar que round(a,15) corta hasta 15, pero en términos de números es lo mismo que teníamos antes. Entonces,

>> a - round(a,15)
ans =
3.330669073875470e-16

Saludos,

Javier