having trouble with number displays in matrix

3 views (last 30 days)
I am having a problem with the way numbers are being displayed in a matrix from a while loop. I am trying to calculate basic interest increases in a bank account for a number of years and at the 4th year the values change to some sort of scientific notation. I have tried set the format to compact as this is what I understand to be the default format for matlab to be. I have attached my code and here is a snip of my output. What can I do to fix this?
2 1210
3 1331
1.0e+03 *
0.0040 1.4641
1.0e+03 *
0.0050 1.6105
a=1000;
r=0.1;
bal=a;
year=0;
disp('Year Balance')
while bal<a*2
bal=bal+r*bal;
year=year +1;
disp([year bal])
end

Accepted Answer

Guillaume
Guillaume on 24 Jun 2019
Edited: Guillaume on 24 Jun 2019
format compact only affects the line spacing of the display. It doesn't affect how numbers are displayed.
I tend to use format longg or format shortg. Both should get rid of the scientific notation.
  1 Comment
Gregory Power
Gregory Power on 24 Jun 2019
Thank you. I guess I was a mistaken. and thank you for directing me to the documentation and answering the question.

Sign in to comment.

More Answers (2)

Himanshu Rai
Himanshu Rai on 24 Jun 2019
Edited: Himanshu Rai on 24 Jun 2019
Since you are having trouble displaying year as integers, you can try this
a=1000;
r=0.1;
bal=a;
year=0;
disp('Year Balance')
while bal<a*2
bal=bal+r*bal;
year=year +1;
disp([int32(year) bal])
end

vidhathri bhat
vidhathri bhat on 24 Jun 2019
Hi
Try using
format long g
This will suppress scientific notation.

Products


Release

R2018a

Community Treasure Hunt

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

Start Hunting!