替换向量中的零值

时间:2014-06-05 09:24:15

标签: matlab

我有一个这样的矢量

a=[0 5 3 0 1]

和相应的向量,包含与第一个向量中的零相同数量的数字

b=[2 4]

我想要的是

x=[2 5 3 4 1]

我试着摆弄,并且有点觉得发现/完整的方法可能对我有帮助,但没有让它起作用

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

谢谢!

1 个答案:

答案 0 :(得分:3)

这很容易:

x=a;

由于x==0给出了所有位置的向量元素= 0,即[0 1 0 0 1],x(x==0)正在索引x以获得等于0的x的实际元素,然后您可以使用以下内容将值分配为任何其他向量/矩阵(我们不感兴趣的值不存在且未编入索引):

x(x==0)=b;