Help with MATLAB basics

1 view (last 30 days)
Michael
Michael on 13 May 2013
I'm new to MATLAB so I'm having some trouble here. Can anyone tell me how to find a specific element in a list? something like the in operator for python. Thanks :)
  1 Comment
Jan
Jan on 13 May 2013
This is a Matlab forum. Although it is likely, that you find someone who speaks Matlab and Python, it is more likely, that you get a fast answer, if you explain in words, what the program should do.

Sign in to comment.

Accepted Answer

Jan
Jan on 13 May 2013
Most likely you want:
index = find(strcmp(list, element), 1);
if list is a cell string, or:
index = find(list == element, 1);
if list is a numerical vector.
  1 Comment
Image Analyst
Image Analyst on 13 May 2013
Or, if the "target" number is a floating point number, see the FAQ:
% instead of a == b
% use:
areEssentiallyEqual = abs(a-b) < tol
% for some small value of tol relative to a and b
% perhaps defined using eps(a) and/or eps(b)
theElementIndex = find(areEssentiallyEqual);
or you might want to use ismember(), which is useful in certain cases.

Sign in to comment.

More Answers (1)

Bjorn Gustavsson
Bjorn Gustavsson on 13 May 2013
First I should to point you to various get-started documentation...
Then I'd suggest that you read the documentation of:
help
find
strfind
findstr
isequal
HTH

Community Treasure Hunt

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

Start Hunting!