method to check for similarity using if...else loop
5 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Ghenji
am 23 Mär. 2018
Kommentiert: Ghenji
am 23 Mär. 2018
I have got a cell arrays as like -
selected_item = 'item3';
total_items = {'item1', 'item2', 'item3', item4', 'item5', 'item6'}
items are char.
'item1' and 'item4' are similar - undergoes same operation.
'item2' , 'item3' , 'item6' are similar - undergoes same operation.
'item5' is unique - undergoes different operation.
Now I want to perform operation only on 'item3' since that come into selected from previous codes.
I was trying to write something like this -
if selected_item == 'item2' || 'item3' || 'item6' % below code for item2, item3 and item6
........
........
........
else if selected_item == 'item1' || 'item4' % below code for item1 and item4
........
........
........
else % for item5
.........
end
I know above code does not work, its for explanation how i would like to do. Also it might be possible to put similar items in single variable -
type1_item = {'item2', 'item3', 'item6'};
than we can directly look if whatever comes in selected_item is present in type1_item or not. Is there any other method to resolve these??
0 Kommentare
Akzeptierte Antwort
Guillaume
am 23 Mär. 2018
if ismember(selected_item, {'item2', 'item3, 'item6'})
%do something
If you use strcmp then you get a logical array, which you could reduce to a scalar value with any:
if any(strcmp(selected_item, {'item2', 'item3, 'item6'}))
%do something
ismember is more straightforward.
Weitere Antworten (1)
Birdman
am 23 Mär. 2018
Bearbeitet: Birdman
am 23 Mär. 2018
The best workaround for this situation is to use strcmp:
if strcmp(selected_item,{'item2', 'item3', 'item6'})
%do sth
elseif strcmp(selected_item,{'item1', 'item4'})
%do sth
else
%do sth
end
Do not use == operator for string comparison.
[Edited]
if any(strcmp(selected_item,{'item2', 'item3', 'item6'}))
%do sth
elseif any(strcmp(selected_item,{'item1', 'item4'}))
%do sth
else
%do sth
end
4 Kommentare
Siehe auch
Kategorien
Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!