ismember#
Purpose#
Checks whether each element of a matrix or string array matches any element from a separate symbol.
Format#
- mask = ismember(haystack, needles)#
- Parameters:
haystack (matrix) – multi-dimensional array or string array in which to search.
needles (vector or string array) – the elements to search for in haystack.
- Returns:
mask (matrix) – multi-dimensional array or string array the same size as the input haystack, containing only 1’s and 0’s. Each element of the output, mask, will contain a 1 if the corresponding element of haystack matches one or more elements in needles.
Examples#
Basic numeric example#
haystack = { 105 120,
89 141,
120 180 };
needles = { 105, 180 };
mask = ismember(haystack, needles);
After the above code, mask will equal:
1 0
0 0
0 1
Find instances of bad values in a string array#
// Set vector to search in
names = "GDP" $| "NaN" $| "." $| "Inflation";
// Set values to search for
missing = "NaN" $| "" $| ".";
/*
** Search 'names' for instances of any of
** the strings in 'missing'
*/
mask = ismember(names, missing);
After the code above, mask will equal:
0
1
1
0
Remarks#
ismember() is similar to the dot operators .== and .$==. The
difference is that ismember() allows for the comparison of more than one
needle in each element of the haystack.
See also
Functions indexcat(), indnv(), contains(), rowcontains()