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 Kommentar

Image Analyst
Image Analyst am 12 Jul. 2015
What happened to the 5? Why did you leave that out of c?

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Azzi Abdelmalek
Azzi Abdelmalek am 12 Jul. 2015
Bearbeitet: Azzi Abdelmalek am 12 Jul. 2015

0 Stimmen

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

2 Kommentare

fede
fede am 12 Jul. 2015
Bearbeitet: Azzi Abdelmalek am 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 am 12 Jul. 2015
Have you tried my code?

Melden Sie sich an, um zu kommentieren.

Kategorien

Gefragt:

am 12 Jul. 2015

Kommentiert:

am 12 Jul. 2015

Community Treasure Hunt

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

Start Hunting!

Translated by