我想將變量放入繪圖標題中,但無法生成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})
我想將變量放入繪圖標題中,但無法生成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})
您需要使用%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
將打印double
或float
值與0位小數和出現,如果你印有%d
整數。
如果你的變量X
比使用內置的MATLAB功能mean()
會產生相同的輸出sum(X)/N
N
元素。
注意:你應該小心你的變量名的。 MATLAB包含一個mean()
函數,您不想通過調用變量mean
來覆蓋它。 MATLAB變量名稱區分大小寫,所以Mean
沒問題,但mean
不是。
您可以使用num2str
函數。例如:
mean(y)
a=num2str(ans,5)
plot(x,y)
title(['sometext ' a])
5
在num2str
參數表示的顯著最大位數。而a
現在是string
。 順便說一下,您可以使用mean
內置函數來代替您的公式。