我有一個具有下列數據的單元格:添加列單元陣列
Tom Student
Jim Faculty
Clare Student
我想要做的就是添加另一列在前面是一個序列號。
1 Tom Student
2 Jim Faculty
3 Clare Student
請問有人能提供一些建議嗎?
我有一個具有下列數據的單元格:添加列單元陣列
Tom Student
Jim Faculty
Clare Student
我想要做的就是添加另一列在前面是一個序列號。
1 Tom Student
2 Jim Faculty
3 Clare Student
請問有人能提供一些建議嗎?
你有A
定義爲:
>> A={'Tom', 'Student'; 'Jim', 'Faculty'; 'Clare', 'Student'}
A =
'Tom' 'Student'
'Jim' 'Faculty'
'Clare' 'Student'
要添加列:
>> newCellCol = strsplit(num2str(1:size(A,1)))'
newCellCol =
'1'
'2'
'3'
>> A = [newCellCol A]
A =
'1' 'Tom' 'Student'
'2' 'Jim' 'Faculty'
'3' 'Clare' 'Student'
>>
對於第一列中的數值數組:
>> 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'
您也可以使用num2cell(1:size(A,1))'
代替上面的mat2cell
,如Dan所述。
不知道到底你的陣列是如何組織的,但如果像下面,你可以做如下:
A={{'Tom', 'Student'}, ...
{'Jim', 'Faculty'}, ...
{'Clare', 'Student'}};
sizeA = size(A,2);
for i = 1:sizeA
A{i} = [i, A{i}]
end
% alternatively, instead of a for loop, you can use cellfun
% A = cellfun(@(x, i)[i x], A, num2cell(1:size(A, 2)), 'UniformOutput',0)
A{1}
A{2}
A{3}
ans =
[1] 'Tom' 'Student'
ans =
[2] 'Jim' 'Faculty'
ans =
[3] 'Clare' 'Student'
'[{1; 2; 3},data]'其中'data'是字符串的單元數組。 –