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

19 visualizaciones (últimos 30 días)
Yeap Jia Wei
Yeap Jia Wei el 11 de Jun. de 2015
Respondida: Walter Roberson el 1 de Ag. de 2021
function Checking(x)
a=([1,3,5,8,9]);
if x==a
disp('It is an element')
else
disp('Not an element')
end
end

Respuestas (3)

Stephen23
Stephen23 el 12 de Jun. de 2015
Editada: Stephen23 el 12 de Jun. de 2015
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!

Walter Roberson
Walter Roberson el 1 de Ag. de 2021
function Checking(x)
if ismember(x, [1,3,5,8,9])
disp('It is an element')
else
disp('Not an element')
end
end

Sreeja Banerjee
Sreeja Banerjee el 12 de Jun. de 2015
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 comentario
Walter Roberson
Walter Roberson el 12 de Jun. de 2015
Note that will say it is Not an element once for each element of "a" that it does not equal.

Iniciar sesión para comentar.

Categorías

Más información sobre Matrices and Arrays en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by