Matlab - 情节标题中数字变量的短格式
Posted
技术标签:
【中文标题】Matlab - 情节标题中数字变量的短格式【英文标题】:Matlab - short format of number variable in the plot title 【发布时间】:2015-10-14 00:54:56 【问题描述】:我正在尝试将变量放入绘图标题中,但无法生成 4 位小数的格式。如何避免标题中的浮动格式?
这是我使用的代码
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)
【问题讨论】:
【参考方案1】:您需要使用%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
不行。
【讨论】:
【参考方案2】:您可以使用num2str
函数。例如:
mean(y)
a=num2str(ans,5)
plot(x,y)
title(['sometext ' a])
num2str
参数中的5
显示最大有效位数。 a
现在是 string
。
顺便说一句,您可以使用 mean
内置函数代替您的公式。
【讨论】:
以上是关于Matlab - 情节标题中数字变量的短格式的主要内容,如果未能解决你的问题,请参考以下文章