将列添加到单元格数组

Lio*_*Koh 8 matlab

我有一个包含以下数据的单元格:

Tom     Student
Jim     Faculty     
Clare   Student
Run Code Online (Sandbox Code Playgroud)

我想要做的是在前面添加另一列作为序列号.

1   Tom     Student
2   Jim     Faculty     
3   Clare   Student
Run Code Online (Sandbox Code Playgroud)

有人可以给一些建议吗?

cha*_*pjc 11

A定义为:

>> A={'Tom', 'Student'; 'Jim', 'Faculty'; 'Clare', 'Student'}

A = 

    'Tom'      'Student'
    'Jim'      'Faculty'
    'Clare'    'Student'
Run Code Online (Sandbox Code Playgroud)

要添加列:

>> newCellCol = strsplit(num2str(1:size(A,1)))'

newCellCol = 

    '1'
    '2'
    '3'

>> A = [newCellCol A]

A = 

    '1'    'Tom'      'Student'
    '2'    'Jim'      'Faculty'
    '3'    'Clare'    'Student'

>> 
Run Code Online (Sandbox Code Playgroud)

对于第一列中的数字数组:

>> newCellCol = mat2cell(1:size(A,1),1,ones(1,size(A,1)))';
>> A = [newCellCol A]

A = 

    [1]    'Tom'      'Student'
    [2]    'Jim'      'Faculty'
    [3]    'Clare'    'Student'
Run Code Online (Sandbox Code Playgroud)

如Dan所述,您也可以使用上述num2cell(1:size(A,1))'代替mat2cell.