Matlab - 绘图标题中数字变量的短格式
Matlab - short format of number variable in the plot title
我正在尝试将一个变量放入绘图标题中,但我无法生成小数点后 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})
您需要使用 %f
作为 format specifier for float values。更改代码
Mean=sprintf('Mean=%0.4d',M)
至
Mean=sprintf('Mean=%0.4f',M)
将以小数点后 4 位的精度打印 M
。如果你想打印 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
不行。
您可以使用num2str
功能。例如:
mean(y)
a=num2str(ans,5)
plot(x,y)
title(['sometext ' a])
5
in num2str
参数显示最大有效数字位数。 a
现在是 string
。
顺便说一下,您可以使用 mean
内置函数代替您的公式。
我正在尝试将一个变量放入绘图标题中,但我无法生成小数点后 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})
您需要使用 %f
作为 format specifier for float values。更改代码
Mean=sprintf('Mean=%0.4d',M)
至
Mean=sprintf('Mean=%0.4f',M)
将以小数点后 4 位的精度打印 M
。如果你想打印 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
不行。
您可以使用num2str
功能。例如:
mean(y)
a=num2str(ans,5)
plot(x,y)
title(['sometext ' a])
5
in num2str
参数显示最大有效数字位数。 a
现在是 string
。
顺便说一下,您可以使用 mean
内置函数代替您的公式。