Normalize matrices of different sizes
2 ビュー (過去 30 日間)
古いコメントを表示
I have different size matrix a1, a2, a3...an, size of a1= [m n1]; size of a2=[m n2]; size of a3=[m n3];...size of an=[m nn]; this means that the row number of all the matrix is the same, but their columns number is different. How could I normalize them into matrix [m n], while n is the biggest column number of all matrix? the rest of colums of other matrix should be added with zero. finally, how can I save all new matrix into a 3-D matrix?
0 件のコメント
回答 (1 件)
Ameer Hamza
2020 年 11 月 5 日
See this example
a1 = rand(3,4);
a2 = rand(3,7);
a3 = rand(3,2);
a4 = rand(3,5);
a = {a1, a2, a3, a4};
m = height(a{1});
n = max(cellfun(@width, a));
a = cellfun(@(x) {[x zeros(m, n-width(x))]}, a);
A = cat(3, a{:}) % 3D matrix
3 件のコメント
参考
カテゴリ
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!