Matlab中的元素阵列复制
假设我有一维数组:
a = [1, 2, 3];
是否有一个内置的Matlab函数,它接受一个数组和一个整数n
并复制每个
数组元素n次?
例如,调用replicate(a, 3)
应该返回[1,1,1,2,2,2,3,3,3]
。
请注意,这与repmat
完全不同。我当然可以通过对每个元素执行repmat
并连接结果来实现replicate
,但我想知道是否有更高效的内置函数。
没有找到相关结果
已邀请:
7 个回复
杰黔轿缺
:
复制数组的元素。     
,使用矢量
和标量
,创建一个矢量
,其中
的每个元素重复
次。 第二个参数也可以是与
长度相同的向量,以指定每个元素的复制数。对于2D复制:
不再需要
或其他技巧! 更新:要与其他快速方法进行性能比较,请参阅数组元素的Q& A重复副本:MATLAB中的运行长度解码。
喷乡顾沥沪
您还可以查看此相关问题(处理复制二维矩阵的元素)以查看涉及矩阵索引的其他一些解决方案。这是一个这样的解决方案(灵感来自Edric的答案):
砷竣阿
掸牛浓疗
犯痪桂涛杭
的(第一个)结果赋给向量:
构建一个乘以
的矩阵得到结果:
使用
生成索引:
庞协腿宛炯
坛沤疲撑拆