矩阵合并拼接
1.横向拼接
[a,b] [a b]均可
例1
>> a=magic(3)
a =
8 1 6
3 5 7
4 9 2
>> b=rand(3)
b =
0.6324 0.5469 0.1576
0.0975 0.9575 0.9706
0.2785 0.9649 0.9572
>> c=[a,b]
c =
8.0000 1.0000 6.0000 0.6324 0.5469 0.1576
3.0000 5.0000 7.0000 0.0975 0.9575 0.9706
4.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.1576
3.0000 5.0000 7.0000 0.0975 0.9575 0.9706
4.0000 9.0000 2.0000 0.2785 0.9649 0.9572
2.纵向拼接
[a;b]
例2
>> a
a =
8 1 6
3 5 7
4 9 2
>> b
b =
0.6324 0.5469 0.1576
0.0975 0.9575 0.9706
0.2785 0.9649 0.9572
>> [a;b]
ans =
8.0000 1.0000 6.0000
3.0000 5.0000 7.0000
4.0000 9.0000 2.0000
0.6324 0.5469 0.1576
0.0975 0.9575 0.9706
0.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