Join elements of an array

4 views (last 30 days)
fede
fede on 12 Jul 2015
Commented: Image Analyst on 12 Jul 2015
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
Image Analyst
Image Analyst on 12 Jul 2015
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]
Azzi Abdelmalek
Azzi Abdelmalek on 12 Jul 2015
Have you tried my code?

Sign in to comment.

Categories

Find more on Resizing and Reshaping Matrices in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!