How to treat select elements from within multiple cells as a single vector

7 views (last 30 days)
What is the proper syntax for this indexing?:
ContainerArray = cell(13,9);
[ContainerAray{:,:}] = deal(rand(1,6))
DesiredVector = sum(ContainerArray{2:end,1}(1,1))
That is, how to I extract the nth elements of the arrays contained in the first cell column, cell rows 2:end (or really any cell index), and treat those extracted nth elements as a single array/vector?
Gabriel Stanley
Gabriel Stanley on 26 Sep 2022
Actual data isn't, was trying to quicky create some dummy data to help illustrate basic problem. Also, even if all array are of the same type, individual arrays could be different sizes as long as a known index (e.g. (1,1)) was guaranteed to exist.

Sign in to comment.

Accepted Answer

Jan on 26 Sep 2022
Edited: Jan on 26 Sep 2022
C = cell(5, 4);
C(:) = {2:5}; % Faster than with DEAL
V = cellfun(@(x) x(1,1), C(2:end,1), 'UniformOutput', 1)
V = 4×1
2 2 2 2
V = sum(V)
V = 8

Sign in to comment.

More Answers (0)


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!