【问题标题】:Matlab - short format of number variable in the plot titleMatlab - 情节标题中数字变量的短格式
【发布时间】: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})

【问题讨论】:

    标签: matlab plot matlab-figure number-formatting


    【解决方案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 内置函数代替您的公式。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-08-27
        • 1970-01-01
        • 2022-12-03
        • 2012-01-01
        • 2021-02-19
        • 2019-09-21
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多