我有一个这样的矢量
a=[0 5 3 0 1]
和相应的向量,包含与第一个向量中的零相同数量的数字
b=[2 4]
我想要的是
x=[2 5 3 4 1]
我试着摆弄,并且有点觉得发现/完整的方法可能对我有帮助,但没有让它起作用
c=(a==0)
>[1 0 0 1 0]
谢谢!
答案 0 :(得分:3)
这很容易:
x=a;
由于x==0
给出了所有位置的向量元素= 0,即[0 1 0 0 1],x(x==0)
正在索引x以获得等于0的x的实际元素,然后您可以使用以下内容将值分配为任何其他向量/矩阵(我们不感兴趣的值不存在且未编入索引):
x(x==0)=b;