Join elements of an array

If I have two array
a=[1 2 3 0]
b=[0 0 5 4]
and I want the array c=[1 2 3 4] How should I proceed?
In other words I want a array c in which the element of array a==0 is replaced with the element of matrix b.

1 commentaire

Image Analyst
Image Analyst le 12 Juil 2015
What happened to the 5? Why did you leave that out of c?

Connectez-vous pour commenter.

Réponses (1)

Azzi Abdelmalek
Azzi Abdelmalek le 12 Juil 2015
Modifié(e) : Azzi Abdelmalek le 12 Juil 2015

0 votes

a=[1 2 3 0]
b=[0 0 5 4]
idx=a==0
bb=sort(nonzeros(b))
a(idx)=bb(1:sum(idx))

2 commentaires

fede
fede le 12 Juil 2015
Modifié(e) : Azzi Abdelmalek le 12 Juil 2015
mmmm but if i want a general formula? I have two arrays of prices.
a=[p1 p2 p3 0 0 0 ....]
b=[0 0 p3 p4 p5 0 0....]
and I want join the two arrays to obtain a array c in which I have
c=[p1 p2 p3 p4 p5]
Azzi Abdelmalek
Azzi Abdelmalek le 12 Juil 2015
Have you tried my code?

Connectez-vous pour commenter.

Catégories

Question posée :

le 12 Juil 2015

Commenté :

le 12 Juil 2015

Community Treasure Hunt

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

Start Hunting!

Translated by