我有一个freq
频率数组和另一个val
有值的数组.
val =[1 3 5 7]; freq=[2 3 3 2];
我想得到阵列result
.
result=[1 1 3 3 3 5 5 5 7 7];
我试图获得的方法之一result
是:
freq=[2 3 3 2]; val=[1 3 5 7]; result=[]; for i=1:length(val); result=[result repmat(val(i),1,freq(i))]; end
它可以工作,但是对于大型阵列,如果我摆脱for
-loop,我希望获得一些性能提升.这有什么内置功能吗?你会如何计算result
大型阵列?
这可以这样做:
val = [1 3 5 7] freq = [2 3 3 2] res = repelem(val, freq) res = 1 1 3 3 3 5 5 5 7 7