矩阵合并拼接
1.横向拼接
[a,b] [a b]均可
例1
>> a=magic(3)a =8 1 63 5 74 9 2>> b=rand(3)b =0.6324 0.5469 0.15760.0975 0.9575 0.97060.2785 0.9649 0.9572>> c=[a,b]c =8.0000 1.0000 6.0000 0.6324 0.5469 0.15763.0000 5.0000 7.0000 0.0975 0.9575 0.97064.0000 9.0000 2.0000 0.2785 0.9649 0.9572>> d=[a b]d =8.0000 1.0000 6.0000 0.6324 0.5469 0.15763.0000 5.0000 7.0000 0.0975 0.9575 0.97064.0000 9.0000 2.0000 0.2785 0.9649 0.9572
2.纵向拼接
[a;b]
例2
>> aa =8 1 63 5 74 9 2>> bb =0.6324 0.5469 0.15760.0975 0.9575 0.97060.2785 0.9649 0.9572>> [a;b]ans =8.0000 1.0000 6.00003.0000 5.0000 7.00004.0000 9.0000 2.00000.6324 0.5469 0.15760.0975 0.9575 0.97060.2785 0.9649 0.9572
元胞数组合并拼接
1.使用数组串联运算符[]串联元胞数组。中括号不仅仅能用于矩阵的合并。
例1
>> a={1,2,3};
>> b={'f','n','k'};
>> c={'gh',4,[2 3]};
>> d=[a,b,c]d =1×9 cell 数组{[1]} {[2]} {[3]} {'f'} {'n'} {'k'} {'gh'} {[4]} {1×2 double}>> e=[a b c]e =1×9 cell 数组{[1]} {[2]} {[3]} {'f'} {'n'} {'k'} {'gh'} {[4]} {1×2 double}>> f=[a;b;c]f =3×3 cell 数组{[ 1]} {[2]} {[ 3]}{'f' } {'n'} {'k' }{'gh'} {[4]} {1×2 double}
可以看出与矩阵的合并并无二致。
2.使用元胞数组构造运算符构造一个嵌套元胞数组
>> g={a;b;c}g =3×1 cell 数组{1×3 cell}{1×3 cell}{1×3 cell}>> g{1,1}ans =1×3 cell 数组{[1]} {[2]} {[3]}
不要把元胞数组的合并与嵌套混淆。
参考文献
[1]https://jingyan.baidu.com/article/4ae03de3e064df3efe9e6b42.html
[2]https://ww2.mathworks.cn/help/matlab/matlab_prog/combine-cell-arrays.html?ue