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

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

 Réponse acceptée

Jan
Jan le 8 Jan 2018
Modifié(e) : Jan le 8 Jan 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 commentaire

JAN! This worked amazingly... I didn't even think of using cells. Much appreciated!
Cheers.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

Community Treasure Hunt

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

Start Hunting!

Translated by