Populating an array with a vairable-output function

1 visualización (últimos 30 días)
Gabriel Stanley
Gabriel Stanley el 21 de Mayo de 2021
Editada: Gabriel Stanley el 24 de Mayo de 2021
How can I concatenate the outputs of a function together, when the size of the output varies? E.g.
fileBatch = {'File1','File2','...FileN'}
for f = 1:length(fileBatch)
OutputInformationTable(:,:,f) = fcn(fileBtach(f))
end
where the array returned by fcn could be 1x10, 3x12, etc. My current implementation throws a fault if the size of the returned array changes across iterations of the loop (even if the second iteration returns a smaller array). I do not have enough knoweldge about the files to pre-allocate the OutputInformationTable array.

Respuesta aceptada

Matt J
Matt J el 21 de Mayo de 2021
Editada: Matt J el 21 de Mayo de 2021
Use a cell array instead.
fileBatch = {'File1','File2','...FileN'}
for f = 1:length(fileBatch)
OutputInformationTable{f} = fcn(fileBtach(f))
end
  1 comentario
Gabriel Stanley
Gabriel Stanley el 24 de Mayo de 2021
Editada: Gabriel Stanley el 24 de Mayo de 2021
Thanks Matt, this worked wonders. I had assumed that because fcn returns a cell array, OutputInformationTable would itself be a cell array (and trying to pre-allocate it as a cell array with dummy dimensions didn't work).

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Logical en Help Center y File Exchange.

Productos


Versión

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by