假设我有一维数组:
并复制数组的每个元素n次?
a = [1, 2, 3];
例如,n应该返回replicate(a, 3).
请注意,这与...完全不同[1,1,1,2,2,2,3,3,3].我当然可以repmat通过replicate对每个元素进行实现并连接结果来实现,但我想知道是否有更高效的内置函数.
arrays matlab repeat run-length-encoding elementwise-operations
我正在尝试使用'values'数组和'counter'数组将多个值插入到数组中.例如,如果:
a=[1,3,2,5]
b=[2,2,1,3]
Run Code Online (Sandbox Code Playgroud)
我想要一些功能的输出
c=somefunction(a,b)
Run Code Online (Sandbox Code Playgroud)
成为
c=[1,1,3,3,2,5,5,5]
Run Code Online (Sandbox Code Playgroud)
其中a(1)重复b(1)次,a(2)重复b(2)次等等...
MATLAB中是否有内置函数来执行此操作?如果可能的话,我想避免使用for循环.我尝试过'repmat()'和'kron()'的变体无济于事.
这基本上是Run-length encoding.
怎么重复
A = [ 1 2 ;
3 4 ]
Run Code Online (Sandbox Code Playgroud)
重复
B = [ 1 2 ;
2 1 ]
Run Code Online (Sandbox Code Playgroud)
所以我希望我的答案像矩阵C:
C = [ 1 2 2;
3 3 4 ]
Run Code Online (Sandbox Code Playgroud)
谢谢你的帮助.