类似于How to combine vectors of different length in a cell array into matrix in MATLAB我想将存储在单元格数组中的具有不同维度的矩阵组合成一个具有零而不是空格的矩阵。具体来说,我有一个元胞数组 {1,3},它具有 3 个大小为 (3,3) (4,3) (4,3) 的矩阵:
A={[1 2 3; 4 5 6; 7 8 9] [1 2 3; 4 5 6; 7 8 9; 9 9 9] [1 2 3; 4 5 6; 7 8 9; 4 4 4]}
我想获得类似的东西:
B =
1 2 3 1 2 3 1 2 3
4 5 6 4 5 6 4 5 6
7 8 9 7 8 9 7 8 9
0 0 0 9 9 9 4 4 4
我尝试使用 cellfun 和 cell2mat,但我不知道该怎么做。谢谢。
最佳答案
即使其他答案很好,我也想使用 cellfun
提交我的答案。
l = max(cellfun(@(x) length(x),A))
B = cell2mat(cellfun(@(x) [x;zeros(l-length(x),3)], A, 'UniformOutput', 0));
关于matlab - 如何将元胞数组中不同大小的矩阵组合成MATLAB中的矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31269246/