How to remove the scientific notation such as -1.200340354078778e+11 from a matrix?
조회 수: 4 (최근 30일)
이전 댓글 표시
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
Walter Roberson
2018년 10월 21일
편집: Walter Roberson
2018년 10월 21일
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 ?
채택된 답변
Star Strider
2018년 10월 21일
format short
q = -1.200340354078778e+11
q =
-1.2003e+11
The internal precision remains unchanged.
댓글 수: 3
Walter Roberson
2018년 10월 22일
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.
추가 답변 (1개)
madhan ravi
2018년 10월 21일
편집: madhan ravi
2018년 10월 21일
round((-1.200340354078778e+11),5)
Or
A=vpa((-1.200340354078778e+11))
round(A)
댓글 수: 3
madhan ravi
2018년 10월 22일
편집: madhan ravi
2018년 10월 22일
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
참고 항목
카테고리
Help Center 및 File Exchange에서 Logical에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!