Producing incorrect results with abs command
조회 수: 14 (최근 30일)
이전 댓글 표시
Hey, I am trying to do some pretty basic math here. The equation Im using is
which as a i understand would be written f8=abs(x.^x)-2.*x where x is a -10:10 matrix. However, when I run the code, the answers are incorrect. they should start at -20 but the code outputs 0E9. any ideas what I am missing?
댓글 수: 2
dpb
2022년 9월 4일
Dunno. Attach actual case that you think fails, don't just try to describe it to us...
채택된 답변
Walter Roberson
2022년 9월 4일
You overlooked the "1.0e+09 *" part of the output. You are using format short, which displays only a limited number of decimal places for each item in order to create a compact display.
x = -10:10;
f8 = abs(x.^x) -2.*x;
f8
format long g
f8
댓글 수: 4
추가 답변 (1개)
dpb
2022년 9월 4일
You didn't provide the input x array so we can (easily) duplicate, but now this one is easy... :)
You're confusing the output display with default format short compared to the actual result stored in memory.
NB: the "1.0e+09 *" at the beginning -- that's a common e-format multiplier applied on all results as printed. The result of the first location thus is reported as "0.000E9" which clearly doesn't have sufficient precision to show a value of 20-something on a 10E9 range.
Try looking at
f8(1)
all by itself and the mystery will go away.
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 Creating, Deleting, and Querying Graphics Objects에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
