Making cell array out of two same length vectors

Hi all, I am trying to make cell array out of two same length vectors, i.e. I have two vectors each is 1066 element and I want to join every element in vector1 with it’s comparative element in vector2 so that to make a cell array made of 1066 equal size vectors each of two elements. Please help

 Accepted Answer

Hi Mohammed,
if you have the two vectors x1 and x2 (each of size 1x1066) you can merge them frist to a matrix:
X = [x1;x2]
and then transform it into a cell array
C = mat2cell(X,2,ones(1,1066))
This will give you an cell-array of size 1x1066, where each cell j contains the pair X(:,j).
best,
Stephan

1 Comment

Thank you very much, I tried it and it is working great.

Sign in to comment.

More Answers (1)

C = cell(1, 1066);
for iC = 1:1066
C{iC} = [x1(iC), x2(iC)];
end

1 Comment

Thank you for help. The code runs for a long time and there are empty cells.

Sign in to comment.

Categories

Find more on Operators and Elementary Operations in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!