指定した桁数で小数の丸めを行うにはどうすればよいですか?
74 views (last 30 days)
Show older comments
MathWorks Support Team
on 25 Oct 2013
Edited: MathWorks Support Team
on 9 Jan 2018
指定した桁数で小数の丸めを行うにはどうすればよいですか?
Accepted Answer
MathWorks Support Team
on 9 Jan 2018
Edited: MathWorks Support Team
on 9 Jan 2018
R2014b 以降のバージョンであれば round 関数の追加引数で桁数を指定しての丸め処理を実行できます。
例えば、小数点以下 3 桁にする場合、以下のように実行します。
>> Y = round(pi,3)
ans =
3.1420
R2014a 以前のバージョンで小数第 n 桁で丸めを行う場合、小数点を 10^(n-1) 分移動させて丸めを行った後、小数点を元の位置まで戻すことで実現できます。例えば、小数第 3 桁を四捨五入で丸める場合、round 関数を利用して以下のように実行します。
>> % 12.34567 → 1234.567にしてroundを実行してから小数点を元に戻す
>> n = 3;
>> unit = 10^(n-1);
>> (round(12.34567 * unit)) / unit
ans =
12.3500
round 関数以外にも、floor、ceil、fix の丸めを行う関数で上記方法が使用できます。これらのプログラムを MATLABファンクションファイルにしたものを、ページ下部の関連ドキュメントよりダウンロードできます。
指定した桁で四捨五入:decround.m
指定した桁で負の無限大方向へ丸め:decfloor.m
指定した桁で正の無限大方向へ丸め:decceil.m
指定した桁でゼロ方向へ丸め:decfix.m
(注意)ファイルのダウンロードはダウンロード対象のリンクを右クリックし「対象をファイルに保存」を選択してダウンロードを行ってください。
サンプルプログラムでは第一入力引数に小数を入力し、第二入力引数に桁数を指定します。
●実行例(小数第3桁で四捨五入)
>> decround(12.34567,3)
ans =
12.3500
0 Comments
More Answers (0)
See Also
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!