How to extend/add elements to an array?

1 visualización (últimos 30 días)
Rikke
Rikke el 15 de Abr. de 2019
Comentada: Rikke el 17 de Abr. de 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];

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
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 Logical en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by