How to remove the scientific notation such as -1.200340354078778e+11 from a matrix?
8 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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 commentaires
Walter Roberson
le 21 Oct 2018
Modifié(e) : Walter Roberson
le 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 ?
Réponse acceptée
Star Strider
le 21 Oct 2018
format short
q = -1.200340354078778e+11
q =
-1.2003e+11
The internal precision remains unchanged.
3 commentaires
Walter Roberson
le 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.
Plus de réponses (1)
madhan ravi
le 21 Oct 2018
Modifié(e) : madhan ravi
le 21 Oct 2018
round((-1.200340354078778e+11),5)
Or
A=vpa((-1.200340354078778e+11))
round(A)
3 commentaires
madhan ravi
le 22 Oct 2018
Modifié(e) : madhan ravi
le 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
Voir également
Catégories
En savoir plus sur Number Theory dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!