Matlab:使用格式化将数字数组转换为字符串数组

时间:2016-12-12 20:43:00

标签: string matlab numbers type-conversion

我想像这样转换数字数组:

[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)

2 个答案:

答案 0 :(得分: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'

答案 1 :(得分:0)

从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"