2016-04-29 9 views
0

私は100*100(行*列)の行列を持ち、それには0.00051,0.00052,0.00056のような数字が入っています。私はこれらの数値を切り捨てようとしましたが、問題は を使用してを使用すると"0"となります。 http://www.mathworks.com/matlabcentral/newsreader/view_thread/169196?requestedDomain=www.mathworks.com数値を丸める

は、あなたの便宜のために彼の答えを盗むために:私は、そう数値四捨五入

0.00051 become 0.0005 
0.00052 become 0.0005 
0.00056 become 0.0006 

おかげ

+2

try指定した小数点以下の桁数を指定します。 小数点以下4桁に丸めます。 Y =丸(pi、4) –

答えて

0

この正確な質問はここにMATLAB中央に尋ねた、とロジャー・スタッフォードによって回答されたいです。

実際に、最寄りの4位の10進数の数nを変更するに行います

m = 4; %有意な小数の数
k = floor(log10(abs(n))) - m + 1; n2 = round(n/10^k)* 10^k;

また、Matlabファイル交換からroundn(x、n)を取得し、roundn(x、-4)を実行することもできます。 http://www.mathworks.com/matlabcentral/fileexchange/37067-roundn-x-n--returns-x-rounded-to-n-digits

ここで、Mohamedが提案した簡単な解決策については、Matlabのドキュメントのようにround(x、4)を使用してください。 http://www.mathworks.com/help/matlab/ref/round.html

これはすばやく1つのGoogle検索です。将来は研究をしてください。