Matlab:将具有Double值的单元格转换为String

时间:2015-06-13 10:27:07

标签: matlab

我需要一个将A={1 2 3}转换为A={'1' '2' '3'}的命令。换句话说,我希望将输入A={1 2 3}转换为{'1' '2' '3'}

2 个答案:

答案 0 :(得分:5)

嗯,你可以使用这样的东西:

 B = cellfun(@(x) num2str(x), A, 'uniformoutput', false);

但我确信我错过了一种更简单的方法。

答案 1 :(得分:3)

以下是使用sprintfc(未记录的辅助函数)

的一种替代方法
out = sprintfc('%d',cell2mat(A))

<强>输出:

out = 

'1'    '2'    '3'

虽然%d指的是整数,但您可以使用%.4f(其中.4表示小数点后的小数位数)表示浮点数。

例如,

out = sprintfc('%.3f',cell2mat(A))

<强>输出:

out = 

'1.000'    '2.000'    '3.000'