MATLAB: Data manipulation question, need some help!!

data manipulationmatrix array

Guys, I really need some help here. I got stuck for a long time.
1. How am I supposed to create a matrix that has two columns, the format of the first one is string, and the second is numerical?
Say a = ['1';'2';'3'], b = [4,5,6], I need to create a matrix like c =
1 4
2 5
3 6
I tried to use c = {a,b}, but the answer is c = [3×1 char] [3×1 double]
2. A =
'15' 3854
'10' 6331
'10' 4324
'20' 3874
'25' 4321
'15' 6835
'10' 3321
'15' 3821
'20' 9324
I need to sum the 2nd column according to the 1st column and create a new matrix. E.g, for '10', I should sum up (6331,4324,3321) , the final result should be
B =
'10' 13976
'15' 10689
'20' 13198
'25' 4321
Any opinion is welcomed!

Best Answer

A ={...
'15' 3854
'10' 6331
'10' 4324
'20' 3874
'25' 4321
'15' 6835
'10' 3321
'15' 3821
'20' 9324}
[a b b] = unique(A(:,1));
out = [a num2cell(accumarray(b,cat(1,A{:,2})))];
OR
out2 = [str2double(a) accumarray(b,cat(1,A{:,2}))];