Why matlab live editor and matlab script gives different rank calculation result for the same matrix ?
1 次查看(过去 30 天)
显示 更早的评论
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 个评论
采纳的回答
Matt J
2020-10-21
Probably because you copy-pasted the values of M from the screen to one of the scripts.
3 个评论
更多回答(1 个)
Steven Lord
2020-10-21
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 个评论
Steven Lord
2020-10-21
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?
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Logical 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!