Assign multiple values to a cell

36 views (last 30 days)
I'm trying to assign three value stored in 2 different array to a single cell.
P=[1;2];
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

C B
C B on 6 Oct 2021
Edited: C B on 6 Oct 2021
@Riccardo Tronconi Here you Go !
P=[1;2];
XY=[2,5; 4 ,6];
C= [P(:,:) XY(:,:)]
%OR
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
C=[1,2,5]

Sign in to comment.

More Answers (0)

Categories

Find more on Matrices and 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!