Problem with find function

조회 수: 2 (최근 30일)
Aftab Ahmed Khan
Aftab Ahmed Khan 2015년 11월 3일
편집: Stephen23 2015년 11월 3일
Hello everyone, i am having two vectors and i want to find the index by doing so but it gives me an error. However it works fine when i do like this for numbers. Any help guys.
hbs_ort = {'North' 'North' 'South' 'South' 'East' 'West' 'West' 'East'}
cabs_ort = {'North'}
match=find(cabs_ort==hbs_ort)

채택된 답변

Stephen23
Stephen23 2015년 11월 3일
편집: Stephen23 2015년 11월 3일
You can use strcmp to obtain the logical index (which often faster and more convenient to use than subscript indices):
>> hbs_ort = {'North' 'North' 'South' 'South' 'East' 'West' 'West' 'East'};
>> cabs_ort = {'North'};
>> X = strcmp(hbs_ort,cabs_ort) % logical index
X =
1 1 0 0 0 0 0 0
If you really need to subscripts:
>> find(X)
ans =
1 2
EDIT: if cabs_ort contains multiple values, then use ismember instead:
>> hbs_ort = {'North' 'North' 'South' 'South' 'East' 'West' 'West' 'East'};
>> cabs_ort = {'North','South'};
>> X = ismember(hbs_ort,cabs_ort)
X =
1 1 1 1 0 0 0 0
  댓글 수: 4
Guillaume
Guillaume 2015년 11월 3일

Possibly, this is what you want:

hbs_ort = {'North' 'North' 'South' 'South' 'East' 'West' 'West' 'East'};
cabs_ort = {'North', 'South'};
ismember(hbs_ort, cabs_ort)
Stephen23
Stephen23 2015년 11월 3일
편집: Stephen23 2015년 11월 3일
Then use ismember instead:
>> hbs_ort = {'North' 'North' 'South' 'South' 'East' 'West' 'West' 'East'};
>> cabs_ort = {'North','South'};
>> X = ismember(hbs_ort,cabs_ort)
X =
1 1 1 1 0 0 0 0
Note that the order of the input arguments to ismember is significant: it checks if the elements of A are members of B, where A and B are the first and second inputs respectively.

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

추가 답변 (1개)

TastyPastry
TastyPastry 2015년 11월 3일
Modified code:
hbs_ort = {'North' 'North' 'South' 'South' 'East' 'West' 'West' 'East'};
cabs_ort = 'North';
match=strfind(hbs_ort,cabs_ort);
Returns variable match, which is a 1xn cell array containing vectors where 'North' is found in each cell of hbs_ort.

카테고리

Help CenterFile Exchange에서 Characters and Strings에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by