2014-06-05 110 views
0

Ive得到了這樣的向量替換零個值

a=[0 5 3 0 1] 

和相應的一個向量,因爲在第一矢量零包含數字相同數量的

b=[2 4] 

我想要什麼得到是

x=[2 5 3 4 1] 

我試着擺弄,有點感覺到,找到/完整的方法可能會幫助我在這裏,但沒有得到它的工作

c=(a==0) 
>[1 0 0 1 0] 

謝謝!

回答

3

這是因爲這容易:

x=a; 

作爲x==0給出了所有的位置的矢量的元素= 0,即[0 1 0 0 1],x(x==0)是索引x到獲得實際的元件的x等於0,然後您可以分配值,就好像它是任何其他向量/矩陣(其中我們不感興趣的值不存在,並且未編入索引),使用以下代碼:

x(x==0)=b; 
+2

或甚至更短'a(〜a)= b' =) –

+1

@RobertP。這會超出'a'的價值,OP不想這樣做 – Mauvai