Trying to index into a cell array using columns of a matrix

5 views (last 30 days)
I am trying to use two columns in a matrix to index into a cell array.
I am trying to use the 2nd column of the matrix to index into the first layer of the cell array, and the 1st column to index into the 2nd layer of the cell array.
For example, if a given row in the two-column matrix looks like this:
[2 1] ---- ("2" corresponds to the value in the first column, "1" corresponds to the value in the 2nd column)
I want to index into the cell array as such:
Cell_array{1}{2}
I want to index into the cell array using every single row of the two-column matrix. Every time these values match, I want to extract the data from the cell array.
Any help would be appreciated! Thank you. I hope this makes sense..
  3 Comments
Michael Bochert
Michael Bochert on 13 Sep 2023
I have been able to index into it using curly braces twice.. Here is the .mat file :)
Thx for your help!
Dyuman Joshi
Dyuman Joshi on 13 Sep 2023
"Matlab doesn't support such syntax as Cell_array{1}{2}"
@dpb, It does -
C = {{1 [2 3]}}
C = 1×1 cell array
{1×2 cell}
C{1}{2}
ans = 1×2
2 3

Sign in to comment.

Accepted Answer

Matt J
Matt J on 13 Sep 2023
Edited: Matt J on 13 Sep 2023
I am trying to use two columns in a matrix
Call this matrix I.
to index into a cell array.
Call it C.
Then you could do,
arrayfun(@(i,j) C{j}{i}, I(:,1), I(:,2),'uni',0)

More Answers (0)

Categories

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