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 !

採用された回答

Matt J
Matt J 2020 年 10 月 21 日
Probably because you copy-pasted the values of M from the screen to one of the scripts.
  3 件のコメント
Matt J
Matt J 2020 年 10 月 21 日
Since you accept-clicked my answer, it appears that you solved the problem?
HN
HN 2020 年 10 月 21 日
編集済み: HN 2020 年 10 月 21 日
Thank you Matt J , yes the problem is solved. You were right. What puzzeles me was the difference.
Thanks a lot 1

サインインしてコメントする。

その他の回答 (1 件)

Steven Lord
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 件のコメント
HN
HN 2020 年 10 月 21 日
Steven Lord , Thank you. You are right ! What confuses me was the contraditing result between matlab live script and matlab scrpt.
Steven Lord
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 ExchangeProgramming についてさらに検索

タグ

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by