How to remove the scientific notation such as -1.200340354078778e+11 from a matrix?
4 views (last 30 days)
Show older comments
Hello,
I have a matrix A that have values such as (-1.200340354078778e+11), how to remove this I order to round the values to the nearest 5 decimal? I need this matrix A to multiply it by the double matrix B.
Regards
2 Comments
Walter Roberson
on 21 Oct 2018
Edited: Walter Roberson
on 21 Oct 2018
What output would you want from (-1.200340354078778e+11) ? -120030000000 ? -120034035407.87800 ?
Your invsw entries range in absolute value from 4.75582810386029e9 to 1.86639023098654e12 . Do you want them rounded to 5 decimal points individually, or 5 relative to the 1e12 value? Should 4.75582810386029e9 become 4.7558e9 (5 decimal places for it) or to 0.00476e12 so that the number of trailing 0 align for the values ?
Accepted Answer
Star Strider
on 21 Oct 2018
format short
q = -1.200340354078778e+11
q =
-1.2003e+11
The internal precision remains unchanged.
3 Comments
Walter Roberson
on 22 Oct 2018
rounding the inverse of a matrix is typically bad mathematics. Matrix inverses are rather sensitive.
Your invsw is not the inverse of sw. Your sw only has rank 87 rather than 90.
>> max(max(sw * invsw))
ans =
99117485673797.8
That should be approximately 1 if the two are inverses.
More Answers (1)
madhan ravi
on 21 Oct 2018
Edited: madhan ravi
on 21 Oct 2018
round((-1.200340354078778e+11),5)
Or
A=vpa((-1.200340354078778e+11))
round(A)
3 Comments
madhan ravi
on 22 Oct 2018
Edited: madhan ravi
on 22 Oct 2018
Exactly , it doesn’t change to sym as sir Walter mentioned. If you think it changes you can check class of the variable by typing whos A in command window
See Also
Categories
Find more on Number Theory 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!