与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,但我不知道如何做到这一点 . 谢谢 .
5 回答
如果有可能在一行或几行中我会感到惊讶 . 你可能不得不自己做一些循环 . 以下是在不兼容的第一个尺寸长度的特定情况下实现的目标:
现在B是:
即使其他答案都很好,我也想提交我的,使用
cellfun
.使用bsxfun的屏蔽功能 -
Sample run
输入 -
输出 -
我会使用一个很好的for循环来实现它,我认为这非常直观 .
这是评论的代码:
输出: