If I had a 3D array of 550x129x3, how would I transform this into a cell array consisting of 3 cells in the array which contains 550x129 corresponding to it? I looked at the num2cell documentation and it doesn't mention how to organise it into that format.

 Respuesta aceptada

Star Strider
Star Strider el 18 de Abr. de 2019

1 voto

Use the mat2cell (link) function:
A = rand(550, 129, 3); % Create Matrix
C = mat2cell(A, size(A,1), size(A,2), ones(1,size(A,3))); % Cell Array
Check = cell2mat(cellfun(@size, C, 'Uni',0)) % Check (Delete Later)
producing:
Check(:,:,1) =
550 129
Check(:,:,2) =
550 129
Check(:,:,3) =
550 129

Más respuestas (0)

Categorías

Más información sobre Operators and Elementary Operations en Centro de ayuda y File Exchange.

Preguntada:

el 18 de Abr. de 2019

Respondida:

el 18 de Abr. de 2019

Community Treasure Hunt

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

Start Hunting!

Translated by