Assign multiple values to a cell

60 views (last 30 days)
I'm trying to assign three value stored in 2 different array to a single cell.
XY=[2,5; 4 ,6];
C represent my cell. The desired output is:
C{1,1}= [1,2,5];
C{2,1}= [2,4,6];
Is there a way to do that?

Accepted Answer

Chetan Bhavsar
Chetan Bhavsar on 6 Oct 2021
Edited: Chetan Bhavsar on 6 Oct 2021
@Riccardo Tronconi Here you Go !
XY=[2,5; 4 ,6];
C= [P(:,:) XY(:,:)]
C=arrayfun(@(x) [P(x,:) XY(x,:)],P,'UniformOutput',false)
Please Click on "Accept this answer" If its fullfilled your Requirement.
C =
2×1 cell array
{[1 2 5]}
{[2 4 6]}
  1 Comment
Riccardo Tronconi
Riccardo Tronconi on 6 Oct 2021
Edited: Riccardo Tronconi on 6 Oct 2021
@Chetan Bhavsar I have a small issue.
when P=[1]
and XY remains the same =[2,5; 4 ,6];
I have this error: Index in position 1 exceeds array bounds (must not exceed 1).
Error in @(x)[P(x,:),XY(x,:)]
Here the desired output would be

Sign in to comment.

More Answers (0)


Find more on Cell Arrays 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!