2015-10-14 34 views
2

我想將變量放入繪圖標題中,但無法生成4位小數的格式。如何避免標題中的浮點格式?Matlab - 繪圖標題中數字變量的簡短格式

這是我的代碼使用

subplot(3,2,1); 
hist(X,10); 
str=sprintf('X N=%d,Y=%d',N,Y) 
M=sum(X)/N 
Mean=sprintf('Mean=%0.4d',M) 
title({str,Mean}) 

回答

2

您需要使用%f作爲format specifier for float values。你的代碼

Mean=sprintf('Mean=%0.4d',M) 

更改爲

Mean=sprintf('Mean=%0.4f',M) 

將打印M精確的小數點後4位。如果你想打印M沒有任何小數位,那麼你需要使用%.0f

Mean=sprintf('Mean=%.0f',M) 

%.0f將打印doublefloat值與0位小數和出現,如果你印有%d整數。


如果你的變量X比使用內置的MATLAB功能mean()會產生相同的輸出sum(X)/NN元素。


注意:你應該小心你的變量名的。 MATLAB包含一個mean()函數,您不想通過調用變量mean來覆蓋它。 MATLAB變量名稱區分大小寫,所以Mean沒問題,但mean不是。

1

您可以使用num2str函數。例如:

mean(y) 
a=num2str(ans,5) 
plot(x,y) 
title(['sometext ' a]) 

5num2str參數表示的顯著最大位數。而a現在是string。 順便說一下,您可以使用mean內置函數來代替您的公式。