Clear Filters
Clear Filters

Help using old version of Matlab Student

1 view (last 30 days)
Hi, I periodically use an old version 5 student edition. I'm having a rather small err large problem.
This is what happens
a=[.95 .03 .05 .97]
a =
0.9500 0.0300
0.0500 0.9700
b=a-eye(2)
b =
-0.0500 0.0300
0.0500 -0.0300
det(b)
ans =
2.7756e-018
clear
b=[-.05 .03 .05 -.03]
b =
-0.0500 0.0300
0.0500 -0.0300
det(b) ans =
0
What's happening here? Thanks.
  1 Comment
Manoj Kumar
Manoj Kumar on 9 May 2019
What's wrong ?
det(b) = 0 is equivalent to det(b) = 2.7756 x 10^*(-18) =0.

Sign in to comment.

Accepted Answer

Daniel Shub
Daniel Shub on 30 Aug 2012
This is FAQ 6.1 wrapped up in a different way. FAQ 6.1 considers
>> 0.3 - 0.2 - 0.1
ans =
-2.7756e-17
The answer is the limited precision of floats. Using the same approach outlined in the FAQ gives:
>> sprintf('%20.18f\n', [.95 .03; .05 .97]-eye(2))
ans =
-0.050000000000000044
0.050000000000000003
0.029999999999999999
-0.030000000000000027
>> sprintf('%20.18f\n', [-.05 .03 .05 -.03])
ans =
-0.050000000000000003
0.029999999999999999
0.050000000000000003
-0.029999999999999999

More Answers (1)

Manoj Kumar
Manoj Kumar on 9 May 2019
What's wrong ?
det(b) = 0 is equivalent to det(b) = 2.7756 x 10^*(-18) =0.

Categories

Find more on Introduction to Installation and Licensing in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!