Matlab,矢量比较和If循环

时间:2015-10-06 10:24:39

标签: c++ matlab vector

我很新,我真的需要帮助。这是我的问题,我有2个相同大小的不同矢量,例如:

A= [1 2 3 4 2]

B= [0.1 0.2 0.3 0.4 0.2]

现在..我想要做的是创建第三个向量D(与前两个大小相同)填充了B的一些特定元素。 特别是我想创建一个“if循环”,其中我检查A的“i”元素,如果它在给定范围内,我会选择B的“k”元素并将其放入D中。

我设法做的是用一个向量创建一个循环,它可以工作..

D=zeros(size(A))
for i=1:length(A)
    if A(i)>= 2 & A(i)<= 4
        D(i)=A(i)
    else
        D(i)=0
    end
end

现在我不知道如何在这个循环中实现B向量。我想检查A上的值,然后选择“i”而不是“k”,例如:

if A(i)>= 2 & A(i)<= 4
    "pick B(k) (where i and k are both the second elements of A and B) and put it in D"

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

D=zeros(size(B));
idx = find(A>2 & A<4);
D(idx) = B(idx)
D =

   0.00000   0.00000   0.30000   0.00000   0.00000