我试图将变量放入绘图标题中,但无法生成 4 位小数的格式。如何避免标题中出现 float 格式?
这是我使用的代码
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
将打印一个带有 0 位小数的 double
或 float
值,并且看起来就像使用 打印一个整数一样%d
。
如果您的变量 X
有 N
个元素,则使用内置 MATLAB 函数 mean()
将产生与 sum(X)/N
相同的输出。
注意:您应该小心变量名称。 MATLAB 包含一个 mean()
函数,您不希望通过调用变量 mean
来覆盖该函数。 MATLAB 变量名称区分大小写,因此 Mean
可以,但 mean
不行。
关于Matlab - 绘图标题中数字变量的简短格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33114938/