How do i fix the output of my code?
2 ビュー (過去 30 日間)
古いコメントを表示
Doing some toy problems to get used to Matlab for university.
The following is the program:
a=rand(2,2);
c=1;
cmax=2;
r=1;
rmax=2;
while r<=rmax
while c<=cmax
a(c,r)=round(a(c,r),2);
a(c,r)*100;
c=c+1;
end
r=r+1;
c=1;
end
fprintf ('numero casuale: %i \n' ,a)
I expected the output to be something like:
numero casuale: 40
numero casuale: 80
numero casuale: 24
numero casuale: 12
But it turned out like:
numero casuale: 4.000000e-01
numero casuale: 8.000000e-02
numero casuale: 2.400000e-01
numero casuale: 1.200000e-01
Why did it divide the number by 10 and why did it add so many zeroes. How do i fix the outputs.
0 件のコメント
採用された回答
Les Beckham
2023 年 2 月 1 日
編集済み: Les Beckham
2023 年 2 月 1 日
a=rand(2,2)
c=1;
cmax=2;
r=1;
rmax=2;
while r<=rmax
while c<=cmax
a(c,r)=round(a(c,r),2);
% a(c,r)*100; << your original code isn't changing a here
a(c,r)=a(c,r)*100;
c=c+1;
end
r=r+1;
c=1;
end
format long g
a-round(a)
fprintf ('numero casuale: %i \n' , a);
fprintf ('numero casuale: %i \n' , round(a)); % round a again to handle floating point precision issues
4 件のコメント
Les Beckham
2023 年 2 月 1 日
You are quite welcome.
Please Accept the answer if it solved your issue. Thanks.
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Whos についてさらに検索
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!