Concatenate a variable number of matrices
3 ビュー (過去 30 日間)
古いコメントを表示
Hi All,
How can I concatenate a variable number of matrices that is decided by the user's input?
Thanks..
1 件のコメント
Stephen23
2017 年 10 月 23 日
編集済み: Stephen23
2017 年 10 月 23 日
This is simple. Ensure that you store all of the matrices in one cell array C, then you can simply do this:
cat(3,C{:})
You can change the dimension to suit your needs. Also you can easily select how many you want to concatenate, by using simple and efficient indexing 1:N:
cat(3,C{1:N})
Note that accessing lots of separate variables inside a loop is very slow, complex and buggy:
回答 (1 件)
KL
2017 年 10 月 23 日
編集済み: KL
2017 年 10 月 23 日
I suppose your matrices have (in fact, they should be) consistent dimensions, so you could as well store them in ND array.
dummy = rand(3,3,5);
user_choice = 3; %concatenate first 3 matrices
res = reshape(dummy(:,:,1:user_choice),size(dummy,1),size(dummy,2)*user_choice)
Is this what you want?
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Creating and Concatenating Matrices についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!