如何将列向量转换为字符串数组?

时间:2015-06-03 19:36:03

标签: matlab

如何采用这样的列矢量:

a = [1;2;3;4;5;6;7;8;9;]

并将其转化为:

'1','2','3','4','5','6','7','8','9'

2 个答案:

答案 0 :(得分:3)

您可以使用undocumented built-in function sprintfc将数字数组转换为字符串的单元格数组 -

sprintfc('%d',a)

示例运行 -

>> a = [1;2;3;34;5;6;7;8;19;];
>> sprintfc('%d',a)
ans = 
    '1'
    '2'
    '3'
    '34'
    '5'
    '6'
    '7'
    '8'
    '19'

作为替代方案,您还可以结合使用num2strcellstr& strtrim -

strtrim(cellstr(num2str(a)))

答案 1 :(得分:0)

如果您想使用记录的功能,可能的一种可能性是:

a = 1:9;
t = textscan(sprintf('%d\n', a ), '%s', 'delimiter', '\n');
t = t{1}';

ans = 
    '1'    '2'    '3'    '4'    '5'    '6'    '7'    '8'    '9'