Info

# Loop "if arg in ..."

1 view (last 30 days)
Lucas S on 5 Apr 2019
Closed: MATLAB Answer Bot on 20 Aug 2021
Hello,
I come from Python and i would like to know if there is a
if a in b : ...
end
loop in matlab.
Thanks !

Jonathan A on 12 Apr 2019
Hi Lucas,
Not sure what you are referring to when you say that the "if" statement is a loop. But, if my assumption is correct that you are trying to check whether or not a value or an object is present in a list, you could have multiple options depending on the data in your list (matrix format, cell array format, uniform element class, ...), see code below:
% Case 1: b is a matrix (as strings can be considered as character vectors in Matlab,
% this works also for b='iop' and a='p')
b = [1,2,3];
a = 2;
if any(b==a)
disp('Yes');
else
disp('No');
end
% Case 2: b is a cell array of character vectors
b = {'q','r','s'};
a = 's';
if any(ismember(b,a))
disp('Yes');
else
disp('No');
end
% Case 3: b is a cell array of anything
b = {'q',1,[1,2]};
a = [1,2];
if any(cellfun(@(x) isequal(a,x),b))
disp('Yes');
else
disp('No');
end
I hope this helps.