【发布时间】:2015-10-06 10:24:39
【问题描述】:
我是新手,我真的需要帮助。这是我的问题,我有 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"
有人可以帮忙吗?
【问题讨论】:
-
"where i and k are both the second elements of A and B"对我来说不是很清楚。你的意思是i与k相同用于选择元素吗?如果不是,i和k有什么关系?另外,给定样本数据的预期输出是什么? -
所以 "i" 是 A 的索引,而 "k" 是 B 的索引,它们都应该以相同的步骤向前移动,所以当我检查 i 元素时(例如 A 的第一个) 并且在给定的范围内,我将取 k 个元素(B 中的第一个)并将其放在 D 上(在第一个空间中)......等等.. 清楚吗?
-
应该是(对于这个例子)D=[0 0 0.3 0 0]
-
这个工作
D(A>=2 & A<=4) = B(A>=2 & A<=4)吗? -
是的,正在工作!谢谢!