Why matlab live editor and matlab script gives different rank calculation result for the same matrix ?
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
HN
el 21 de Oct. de 2020
Comentada: Steven Lord
el 21 de Oct. de 2020
I suddenly found matlab is misundesrstanding this matrix and checked it with matlab live editor. Then, matlab live gives the right rank .Why is that happened ? appreciated !
M =[-0.0000 0.0000 0 0 0 -0.0000;...
-0.0000 0.0000 0 0 0 -0.0000;...
0 0 1.0000 0 0 0;...
0 0 0 1.0000 0 0;...
0 0 0 0 1.0000 0;...
0.0000 0.0000 0 0 0 0.0000]
Thank you !
0 comentarios
Respuesta aceptada
Más respuestas (1)
Steven Lord
el 21 de Oct. de 2020
The value MATLAB displays is sometimes not the value MATLAB uses in computations.
>> format short
>> x = 1 + 1e-8
x =
1.0000
>> x == 1
ans =
logical
0
>> y = x - 1
y =
1.0000e-08
>> format longg
>> x
x =
1.00000001
Under the short display format, even though x is not equal to 1 it is displayed as 1.0000. If it were exactly one, y would be exactly 0. When I change the display format to longg, you can see that it is not exactly one.
2 comentarios
Steven Lord
el 21 de Oct. de 2020
Is one using the computed value of x and one the displayed value via copy and paste? How are you ensuring you're using the exact same values, down to the last bit, in the two programs?
Ver también
Categorías
Más información sobre Logical en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!