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

7 ビュー (過去 30 日間)
Benjamin Schuessler
Benjamin Schuessler 2018 年 1 月 8 日
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

採用された回答

Jan
Jan 2018 年 1 月 8 日
編集済み: Jan 2018 年 1 月 8 日
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 件のコメント
Benjamin Schuessler
Benjamin Schuessler 2018 年 1 月 8 日
JAN! This worked amazingly... I didn't even think of using cells. Much appreciated!
Cheers.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeMatrix Indexing についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by