Повторите элементы вектора [дубликата]
На этот вопрос уже есть ответ здесь:
Повторите копии элементов массива: декодирование по длине прогона в MATLAB 5 ответовУ меня есть вектор значенийA
содержащие элементыi
, например:
A = [0.1 0.2 0.3 0.4 0.5];
и скажиr = [5 2 3 2 1];
Теперь я хочу создать новый векторAnew
содержащийr(i)
повторения значенийi
вA
так, что первыйr(1)=5
предметы вAnew
иметь значениеA(1)
и длина нового вектораsum(r)
, Таким образом:
Anew = [0.1 0.1 0.1 0.1 0.1 0.2 0.2 0.3 0.3 0.3 0.4 0.4 0.5]
Я уверен, что это может быть сделано со сложнымfor
петлевое объединение, напримерrepmat
, но есть ли шанс, что кто-то знает, как это сделать более плавно?