How to extend/add elements to an array?

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];

 Respuesta aceptada

Andrei Bobrov
Andrei Bobrov el 15 de Abr. de 2019
Editada: Andrei Bobrov el 16 de Abr. de 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 comentarios

madhan ravi
madhan ravi el 15 de Abr. de 2019
What is ii ?
Rikke
Rikke el 16 de Abr. de 2019
Editada: Rikke el 16 de Abr. de 2019
@Andrei
I wrote wrong in the first place, i want all the zeros to exceed so B will be for example:
B= [3 2 3 5];
out will then be =[2 3 4 5 0 0 0 1 4 5 5 0 0 3 4 0 0 0 2 0 0 0 0 0];
Andrei Bobrov
Andrei Bobrov el 16 de Abr. de 2019
Hi Rikke!
I fixed my answer.
Rikke
Rikke el 17 de Abr. de 2019
Brilliant! Thanks!

Iniciar sesión para comentar.

Más respuestas (1)

Rikke
Rikke el 16 de Abr. de 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.

Categorías

Más información sobre Data Type Conversion en Centro de ayuda y File Exchange.

Etiquetas

Preguntada:

el 15 de Abr. de 2019

Comentada:

el 17 de Abr. de 2019

Community Treasure Hunt

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

Start Hunting!

Translated by