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

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?

2 comentarios

Why use a cell array if all entries are doubles?
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.

Iniciar sesión para comentar.

 Respuesta aceptada

Jan
Jan el 26 de Sept. de 2022
Editada: Jan el 26 de Sept. de 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

3 comentarios

Thank you, Jan. I'll try to improve my utilization and understanding of implicit functions going forward.
yeah, that. Sorry, running on very little sleep atm.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Productos

Versión

R2019b

Preguntada:

el 26 de Sept. de 2022

Comentada:

el 26 de Sept. de 2022

Community Treasure Hunt

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

Start Hunting!

Translated by