How to create a 3D array with matrices of unequal dimentions

6 visualizaciones (últimos 30 días)
Hi all!
I'm a little stuck here, I have a loop:
for i = 1:length(n)
(extras)
n_input = n(i)
tjdf = tjdfCoef(q12,q23,n_input,lambda,mu
end
where the output tjdf is a matrix that has a larger and larger size after each iteration. Is there anyway to put all outputs into a 3D matrix, even though all outputs aren't equal dimension?
Thanks,
Ben

Respuesta aceptada

Jan
Jan el 8 de En. de 2018
Editada: Jan el 8 de En. de 2018
No, a 3D array must have the same number of rows and columns for all pages. Use a cell array instead:
tjdf = cell(1, length(n));
for i = 1:length(n)
(extras)
n_input = n(i)
tjdf{i} = tjdfCoef(q12,q23,n_input,lambda,mu)
end
Cell arrays are useful, if it is meaningful to access the elements by indices and if the elements have different sizes and/or types.
  1 comentario
Benjamin Schuessler
Benjamin Schuessler el 8 de En. de 2018
JAN! This worked amazingly... I didn't even think of using cells. Much appreciated!
Cheers.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

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

Community Treasure Hunt

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

Start Hunting!

Translated by