2011-03-01 34 views
8

我想知道如何使用命令在Matlab中設置n個小數位的顯示?如何在Matlab中顯示n個小數位

必須限制某些預定的數字嗎?或者,你可以指定任何n?

感謝和問候!

+1

可能的重複項:[如何以超過4位小數顯示矩陣中的數據](http://stackoverflow.com/questions/2311520/how-to-display-data-in-matrix-with-with-more -than-4小數),[是否可以在Matlab中以非工程格式顯示數字?](http://stackoverflow.com/questions/3999205/is-it-possible-to-show-numbers-in - 非工程格式功能於MATLAB)。簡短回答:查看[FORMAT](http://www.mathworks.com/help/techdoc/ref/format.html)命令。 – gnovice 2011-03-01 04:21:16

回答

9

您可以將數字轉換爲字符串使用SPRINTF命令ň小數位:

 
>> x = 1.23; 
>> sprintf('%0.6f', x) 

ans = 

1.230000 

>> x = 1.23456789; 
>> sprintf('%0.6f', x) 

ans = 

1.234568 
+2

謝謝!但我只是希望它是數字而不是字符串。 – Tim 2011-03-01 00:57:30

+1

@Tim:我不確定你的意思是希望它是數字。它是數字!如果你想把一個數字四捨五入到小數點後六位,你可以做'round(x * 10^6)/ 10^6'。 – 2011-03-01 01:00:49

+0

對於舍入數字,文件交換中有@ b3代碼的幾種變體:http://www.mathworks.co.uk/matlabcentral/fileexchange/21121-round-to-specified-digits-place http:// www .mathworks.co.uk/matlabcentral/fileexchange/4261-round2 http://www.mathworks.co.uk/matlabcentral/fileexchange/6077-round2 – 2011-03-04 10:12:51

-2

我使用像蒂姆說sprintf('%0.6f', x),這是一個字符串,然後我通過使用命令str2double(x)將其更改爲數字。

+0

你正在增加計算時間2倍 – mvikhona 2016-09-18 13:56:16