How to extend/add elements to an array?

4 visualizzazioni (ultimi 30 giorni)
Rikke
Rikke il 15 Apr 2019
Commentato: Rikke il 17 Apr 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];

Risposta accettata

Andrei Bobrov
Andrei Bobrov il 15 Apr 2019
Modificato: Andrei Bobrov il 16 Apr 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 Commenti
Andrei Bobrov
Andrei Bobrov il 16 Apr 2019
Hi Rikke!
I fixed my answer.
Rikke
Rikke il 17 Apr 2019
Brilliant! Thanks!

Accedi per commentare.

Più risposte (1)

Rikke
Rikke il 16 Apr 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.

Categorie

Scopri di più su Data Type Conversion in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by