I have a x=1x10 string of colors and the user enters a a=1x3 string of colors. Im trying to get the index of the location in the x-variable. How can i achieve that?
% my code
x=["Brown","Blue","Red","Orange","Purple","Black","Yellow","White"];
% User input
a=["Brown","Red"];
% I try this but it does not work
idx=strcmpi(a(1:2),x);

 Akzeptierte Antwort

stozaki
stozaki am 16 Feb. 2020
Bearbeitet: stozaki am 16 Feb. 2020

1 Stimme

Please try following command.
ret = find(ismember(x,a))

1 Kommentar

Stephen23
Stephen23 am 16 Feb. 2020
Bearbeitet: Stephen23 am 16 Feb. 2020
Simpler and more efficient without the superfluous find:
>> [~,idx] = ismember(a,x)
idx =
1 3

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Characters and Strings finden Sie in Hilfe-Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by