# Why matlab live editor and matlab script gives different rank calculation result for the same matrix ?

1 view (last 30 days)
HN on 21 Oct 2020
Commented: Steven Lord on 21 Oct 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 !

Matt J on 21 Oct 2020
Probably because you copy-pasted the values of M from the screen to one of the scripts.

HN on 21 Oct 2020
Thank you Matt J But still occur even after clearing all variables , restarting matlab, and even my PC ?
Thank you
Matt J on 21 Oct 2020
Since you accept-clicked my answer, it appears that you solved the problem?
HN on 21 Oct 2020
Thank you Matt J , yes the problem is solved. You were right. What puzzeles me was the difference.
Thanks a lot 1

Steven Lord on 21 Oct 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.

HN on 21 Oct 2020
Steven Lord , Thank you. You are right ! What confuses me was the contraditing result between matlab live script and matlab scrpt.
Steven Lord on 21 Oct 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?