这里我有一个数组并根据条件语句提取一些元素;
A = 10:-1:1;
idx = find(A>3);
获取其余元素的直接方法是什么,这些元素在这里是1,2和3,但是使用了返回的idx?
答案 0 :(得分:3)
如果仅仅是条件语句,我就不会使用'find'。 你可以使用:
X=A(A>3) %for the conditional Elements or
Y=A(~(A>3)) % for the other group
答案 1 :(得分:3)
只需更改“>”签到“< =”:
idx = find(A<=3);
您也可以使用布尔逆:
idx = find(~(A>3));
答案 2 :(得分:3)
这是对其他答案的补充。您只能通过阵列A一次。我更喜欢布尔索引:
idx1 = A>3;
idx2 = ~idx1;
您可以使用找到返回的索引执行类似的游戏:
idx1 = find(A>3)
idx2 = setdiff(1:length(A), idx1); % assuming A is a vector