How to extend/add elements to an array?

4 vues (au cours des 30 derniers jours)
Rikke
Rikke le 15 Avr 2019
Commenté : Rikke le 17 Avr 2019
I want to extend an array at the points were the array are 0.
For example an array like this:
A=[2 3 4 5 0 1 4 5 5 0 3 4 0 2 0 ];
At each zero in A i want to extend by B=[3 2 3 5];
so the new array will be:
C=[2 3 4 5 0 0 0 1 4 5 5 0 0 3 4 0 0 0 2 0 0 0 0 0];

Réponse acceptée

Andrei Bobrov
Andrei Bobrov le 15 Avr 2019
Modifié(e) : Andrei Bobrov le 16 Avr 2019
A = [2 3 4 5 0 1 4 5 5 0 3 4 0 2 0 ];
B = [3 2 3 5];
out = A(sort([find(A),repelem(find(A == 0),B)]));
  4 commentaires
Andrei Bobrov
Andrei Bobrov le 16 Avr 2019
Hi Rikke!
I fixed my answer.
Rikke
Rikke le 17 Avr 2019
Brilliant! Thanks!

Connectez-vous pour commenter.

Plus de réponses (1)

Rikke
Rikke le 16 Avr 2019
I got the solution for B= [3 2 3 5]. Thanks Andrei!
A=[2 3 4 5 0 1 4 5 5 0 3 4 0 2 0 ];
B=[3 2 3 5];
jj = find(A == 0);
out = A(sort([find(A),jj,repelem(jj,B)]));
Madhan I think ii is if you want to add zeros to spesific zeros in the array and not all of them.

Catégories

En savoir plus sur Data Type Conversion dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by