私はMATLABのA
という配列で作業しています。この配列の値は、小数点以下5桁までです。これらの値を小数点以下の桁数に切り捨てたいと思います。変数を切り捨てるMATLAB
これを行う方法はありますか?
ありがとうございます!
私はMATLABのA
という配列で作業しています。この配列の値は、小数点以下5桁までです。これらの値を小数点以下の桁数に切り捨てたいと思います。変数を切り捨てるMATLAB
これを行う方法はありますか?
ありがとうございます!
、MATLABの "切り捨て" 機能がfix
と呼ばれています。だから、
>> fix(3.5)
ans = 3
>> fix(-3.5)
ans = -3
、ラウンド、床を切り捨てる、または小数の特定の数には、何もCEIL、数十の力を掛け、切り捨てる、ラウンド、床、または切り上げ、その後、数十の力で結果を分割します。
ので:
>> fix(123.456 * 10^2)
ans = 12345
>> ans/10^2
ans = 123.45
なぜ、丸めを実現するために、整数の丸めを 'fix'で使用し、逓倍と除算の回避策を使用するのか不思議ですか? MATLABは、指定された桁数に丸める完全に良い 'round'関数を持っています... – Wolfie
質問は四捨五入ではなく切り捨てについてです。 'fix(3.7)'と 'round(3.7)'は異なる結果を出します。私が乗算と除算を使用したのは、 'fix'が精度の高い引数を取らず、古いバージョンのMatlabでは他の関数を実行しないためです。 – giusti
正確な引数がないので '*'と '/'の使い方を理解しました... 'fix'と' round'を照会するだけですが、切り捨てと丸めについてのあなたの意見は公平です。 – Wolfie
丸め桁:
小数点以下2桁まで、例えば、round
を使用し、小数点以下の所定の数に値(又はマトリックス)を丸める...
round(1.2345, 2)
ans = 1.2300
ないも最初shortg
format shortg
round(1.2345, 2)
ans = 1.23
形式にフォーマットを変更し、後続のゼロを表示するcompact
でも同様の結果が得られますので、以下のドキュメントに基づいてニーズに合わせて最適なものを選択してください。
ドキュメント:
ラウンド:https://uk.mathworks.com/help/matlab/ref/round.html
フォーマット:何らかの理由でhttps://uk.mathworks.com/help/matlab/ref/format.html
あなたが実際に低い精度を使用するか、単にそれを異なって表示するようにしたいですか? – excaza
要約すると、何らかの理由で正確に精度を落としたい場合は、 'fix'、' round'、 'ceil'、' floor'を見てください。より簡潔に表示する場合は、 'format'を見てください。 –