MATLAB Answers

Jiali
0

How to combine numeric contents inside a cell array with another numeric matrix

Asked by Jiali
on 11 Jun 2015
Latest activity Commented on by Jiali
on 14 Jun 2015
I want to combine numeric contents inside a cell array with another numeric matrix. The following is a simple demo code.
%%generate a cell array with numeric contents
k=1;
for i=1:3
for j=1:4
RowCol{k}=[i j];
k=k+1;
end
end
%%another numeric matrix, contents can be NaN or numeric
XY=NaN(numberrow*numbercolumn,2);
%%Combine numeric contents inside a cell array with another numeric matrix
for ii=1:12
Data(ii)=[RowCol{ii,1},XY(ii,:)]
end
The combination doesn't work! Could you please help me out? Anyone has any suggestions? I highly appreciate it.

  0 Comments

Sign in to comment.

1 Answer

Answer by Walter Roberson
on 11 Jun 2015
 Accepted Answer

Data{ii} = [RowCol{ii,1},XY(ii,:)]
Notice change of (ii) to {ii}
In place of your loop you could use
Data = cellfun(@(A,B) [A,B], RowCol, XY, 'Uniform', 0);

  1 Comment

Wonderful! Thank you for sharing "Cellfun" function, really useful.

Sign in to comment.