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 个小数位的 doublefloat 值,并且看起来好像您使用 %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 - 情节标题中数字变量的短格式的主要内容,如果未能解决你的问题,请参考以下文章

将长日期转换为特定的短日期格式

matlab中for如何实现变量名称中数字的变化

大于 32767 的短整型值

如何将函数中的短局部变量设置为公共

有啥办法可以摆脱带有情节提要的短 ViewController 吗? [复制]

matlab中如何定义函数