how to find index of string using AND operator when adding conditions

3 次查看(过去 30 天)
I want to search in a string matrix zz for index of 'A' in a cell when the value of the other cell is 'B'.
using idx = find(ismember(zz, 'A')); I can only get the index A
but i need to know the index of A only if the value of the other cell in another cloumn is B
something like this
idx = find(ismember((zz, 'A')&& (zz,'B')));
Thanks,
Roxan

采纳的回答

Stephen23
Stephen23 2020-8-13
编辑:Stephen23 2020-8-13
>> zz = {'2','B','A';'2','C','A';'2','V','H';'2','B','Y';'3','F','A';'3','G','A';'3','B','A';'2','G','A'}
zz =
'2' 'B' 'A'
'2' 'C' 'A'
'2' 'V' 'H'
'2' 'B' 'Y'
'3' 'F' 'A'
'3' 'G' 'A'
'3' 'B' 'A'
'2' 'G' 'A'
>> idx = find(strcmp(zz(:,2),'B')&strcmp(zz(:,3),'A'))
idx =
1
7

更多回答(1 个)

Bruno Luong
Bruno Luong 2020-8-13
编辑:Bruno Luong 2020-8-13
Your description is not clear to me so I give two versions
idx = find(ismember(zz, {'A' 'B'}));
or
idx = find(ismember(zz, 'A') & ismember(xx, 'B'));
  1 个评论
Roxan
Roxan 2020-8-13
thanks for your reply.
The second syntex return an empty index. The first syntax will return the index of both A and B. but what is need is to find the index of A only if the other cell value is B.
see below:
"2" "B" "A"
"2" "C" "A"
"2" "V" "H"
"2" "B" "Y"
"3" "F" "A"
"3" "G" "A"
"3" "B" "A"
"2" "G" "A"

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Cell Arrays 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by