# Assign multiple values to a cell

5 views (last 30 days)
Riccardo Tronconi on 6 Oct 2021
Edited: Riccardo Tronconi on 6 Oct 2021
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?

Chetan Bhavsar on 6 Oct 2021
Edited: Chetan Bhavsar 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)
C =
2×1 cell array
{[1 2 5]}
{[2 4 6]}
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]

### Community Treasure Hunt

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

Start Hunting!

Translated by