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 Comment

What happened to the 5? Why did you leave that out of c?

Sign in to comment.

Answers (1)

Azzi Abdelmalek
Azzi Abdelmalek on 12 Jul 2015
Edited: Azzi Abdelmalek on 12 Jul 2015
a=[1 2 3 0]
b=[0 0 5 4]
idx=a==0
bb=sort(nonzeros(b))
a(idx)=bb(1:sum(idx))

2 Comments

fede
fede on 12 Jul 2015
Edited: Azzi Abdelmalek on 12 Jul 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]
Have you tried my code?

Sign in to comment.

Categories

Asked:

on 12 Jul 2015

Commented:

on 12 Jul 2015

Community Treasure Hunt

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

Start Hunting!