【问题标题】:Matlab: convert array of number to array of strings, with formattingMatlab:将数字数组转换为字符串数组,并带有格式
【发布时间】:2016-12-12 20:42:59
【问题描述】:

我想像这样转换一个数值数组:

[12.3134 25.3234 34.4190 466.6765 55.5454]

放入一个字符串元胞数组,小数点后有一个数字,如下所示:

'12.3' '25.3' '34.6' '466.6' '55.5'

这个arrayfun 让我很接近,但我不知道如何将格式规范添加到num2str 函数。

arrayfun(@num2str, A, 'UniformOutput', false)

【问题讨论】:

    标签: string matlab numbers type-conversion


    【解决方案1】:

    您可以将输入传递给匿名函数:

    A = [12.3134 25.3234 34.4190 466.6765 55.5454];
    B = arrayfun(@(x)num2str(x, '%.1f'), A, 'UniformOutput', false);
    

    返回:

    B =
    
      1×5 cell array
    
        '12.3'    '25.3'    '34.4'    '466.7'    '55.5'
    

    【讨论】:

      【解决方案2】:

      从 16b 开始你可以做

      >> A = [12.3134 25.3234 34.4190 466.6765 55.5454];
      >> B = compose('%.1f',A)
      
      B = 
      
        1×5 string array
      
          "12.3"    "25.3"    "34.4"    "466.7"    "55.5"
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-05-31
        • 2016-03-07
        • 2012-03-20
        • 1970-01-01
        • 1970-01-01
        • 2017-04-04
        • 1970-01-01
        • 2013-04-25
        相关资源
        最近更新 更多