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 件のコメント

Jan
Jan 2013 年 5 月 13 日
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.

サインインしてコメントする。

 採用された回答

Jan
Jan 2013 年 5 月 13 日

1 投票

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 件のコメント

Image Analyst
Image Analyst 2013 年 5 月 13 日
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.

サインインしてコメントする。

その他の回答 (1 件)

Bjorn Gustavsson
Bjorn Gustavsson 2013 年 5 月 13 日

1 投票

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

カテゴリ

質問済み:

2013 年 5 月 13 日

Community Treasure Hunt

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

Start Hunting!

Translated by