Write a function that checks whether an element occurs in a list.

답변 (3개)

Stephen23
Stephen23 2015년 6월 12일
편집: Stephen23 2015년 6월 12일
Actually your code just needs the addition of any to work correctly:
function Checking(x)
a = [1,3,5,8,9];
if any(x==a)
disp('It is an element')
else
disp('Not an element')
end
end
and here it is being tested:
>> Checking(2)
Not an element
>> Checking(3)
It is an element
Read the if documentation carefully to know why this works!
function Checking(x)
if ismember(x, [1,3,5,8,9])
disp('It is an element')
else
disp('Not an element')
end
end
Hi Yeap,
Assuming that x is the element you want to check and a is the array, this function will not because you are comparing a 1x1 double with a 1xn double array. You need to compare each element of a with that of x.
Please look at the following code where I have used a FOR loop:
function Checking(x)
a=([1,3,5,8,9]);
for i = 1:length(a)
if x==a(i)
disp('It is an element')
else
disp('Not an element')
end
end

댓글 수: 1

Note that will say it is Not an element once for each element of "a" that it does not equal.

댓글을 달려면 로그인하십시오.

카테고리

도움말 센터 및 File Exchange에서 Debugging and Improving Code에 대해 자세히 알아보기

질문:

2015년 6월 11일

답변:

2021년 8월 1일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by