Matlab - Falso resultado de la determinante

 
Vista:

Falso resultado de la determinante

Publicado por Cesar (1 intervención) el 10/02/2012 17:58:05
Curioseando en Matlab me di cuenta que cuando hallaba la determinante, me arrojaba un resultado raro:


>> C=[1 2 3;4 5 6;7 8 9]

C =

1 2 3
4 5 6
7 8 9

>> det(C)

ans =

6.6613e-016

Resolviendo a mano esa determinante, el resultado me sale 0

El resultado q me arroja Matlab2011b tiene de cero, pero se supone q debe de ser CERO EXACTO.

Algo estoy haciendo mal? la verdad q esta duda no me deja dormir. Esa es una matriz sencilla de 3x3, cuando resuelva una de 8x8 no voy a ponerme a comprobar el resultado...

Es error mio? es error de la version de Matlab? hay solucion?
Gracias!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de JOSE JEREMIAS CABALLERO
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Falso resultado de la determinante

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 10/02/2012 18:33:00
HOla Cesar.

1
2
3
4
5
clear all
C=[1 2 3;4 5 6;7 8 9];
deter=det(C);
fprintf('%d\n',deter);
numero=deter+1


EJECUCION
1
2
3
4
5
6
>>probando
0.000000
 
numero =
 
    1.0000


Saludos.
JOSE JEREMIAS CABALLERO

Servicios de programacion matlab


Asesor de Proyectos con Matlab
programador en matlab
"Detalladar sus preguntas, para recibir respuestas acertadas"
[email protected]
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

%d

Publicado por Luis (1 intervención) el 06/07/2013 08:06:00
Utilizas fprintf('%d\n',deter); obviamente por el %d acota el numero a un entero, no resuelves la duda en si y en el caso de numero = deter+1 da de resultado 1 por el numero de decimales a visualizar.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de JOSE JEREMIAS CABALLERO
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

%d

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 07/07/2013 00:04:15
Bueno Luis.
Ahorita hay muchas preguntas de matlab en el foro que están para contestar, puedes apoyarnos contestando esas preguntas.

Saludos.
JOSE JEREMÍAS CABALLERO
Asesorías en Matlab
programador en matlab
Servicios de programación matlab
[email protected]

http://matlabcaballero.blogspot.com

http://www.lawebdelprogramador.com/foros/Matlab/1371532-FORMA_DE_APRENDER_MATLAB.html
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Dave
Val: 497
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Falso resultado de la determinante

Publicado por Dave (1094 intervenciones) el 10/02/2012 18:34:10
Hola Cesar;

Los resultados que Matlab te muestra no es problema o error de Matlab, es un caso de precisión, en programación y especificamente en calculos es normal que el cero se represente por valores muy pequeños que son aproximados a cero, en este caso deseas que se muestre cero en vez de una valor muy pequeños, podrías agregar una condición que evalue y muestre cero sei el resultado es bajo.

Te adjunto un ejemplo:

1
2
3
4
5
6
7
8
9
% A=magic(3);
A=[1 2 3;4 5 6;7 8 9]
 
D=det(A);
if (D > -1e-10)
    D = 0;
end
 
D



Espero que sea de alguna ayuda.

Saludos
Dave Correa
[email protected]
Servicios de Programación Matlab
http://fismatlab.blogspot.com/
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar