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 中查找有关 Logical 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!