matlab 让数组每个元素重复出现
直接使用repelem或者利用函数repmat和 reshape
1.repelem 重复数组元素副本
u = repelem(v,n),返回一个重复 v
中元素的向量,其中 v
是一个标量或向量。
B = repelem(A,r1,...,rN),将 A
中的每个元素依 r1,...,rN
进行重复,返回一个数组。
举例:
a=[1 2 3];
u = repelem(a,2);
>> u
u =
1 1 2 2 3 3
2.
repmat 矩阵的复制排列
B=repmat(A,n):返回B是一个n*n块大小的矩阵,每一块矩阵都是A
B=repmat(A,m,n):返回值是由m*n个块组成的大矩阵,每一个块都是矩阵A。
B=repmat(A,[m,n,p,…]):返回值B是一个多维数组形式的块,每一个块都是矩阵A
reshape 将矩阵重排:
reshape(M, m, n)将矩阵M重排成m * n
举例:
a = [1 2 3 ];
repeat = 2; % 要重复几次就写几
tmp = repmat(a, repeat, 1);
b=reshape(tmp, 1, length(a)*repeat);
b
>> b
b =
1 1 2 2 3 3