我有一个像这样的向量
A = [1 2 3 1 2 3 1 2 3]
并且我想编写一个函数,如果存在5到9之间的数字,则返回True;否则,返回
答案 0 :(得分:2)
根据etmuse的建议,您可以在两个条件下使用any
。
function output = findelem(A)
if(any(A>5 & A<9))
output = true;
return;
end
output = false;
end
通话功能:
>>findelem([1 2 3 1 2 3 1 2 3])
returns logical 0
>>findelem([1 2 3 1 6 3 1 2 3])
returns logical 1
正如@beaker正确指出的那样,您可以简单地使用:
function output = findelem(A)
output = (any(A>5 & A<9))
end
答案 1 :(得分:0)
另一种解决方案使用ismember
:
any(ismember(5:9,A))
它检查5:9
中是否存在A
中的任何元素。如果您省略了any
,它将告诉您A
中存在哪些元素:
>> ismember([1,5,9],A)
ans =
1 0 0
(表示存在1
,但没有5
和9
)。