Problem with find string in array
Show older comments
Hello, i try to find mark 'bmw' in Mfg table(carbig.mat).I want to create new logic table with 1 (if string exist) or 0 to others string.
>> idx = ismember((Mfg(:,1:6)=='bmw'),[1,1,1,1,1,1],'rows')
But i have this mistake:
Error using ==
Matrix dimensions must agree.
It's my workspace:

4 Comments
Stephen23
on 20 Mar 2020
First convert the character matrix to a cell array of strings or to a string array without leading/trailing space characters and then use strcmpi.
madhan ravi
on 20 Mar 2020
Would you attach a sample file ?
the cyclist
on 20 Mar 2020
@madhan, if you type
load carbig.mat
you'll have the data. It is a file used for examples in the documentation.
madhan ravi
on 20 Mar 2020
Thank you the cyclist.
Accepted Answer
More Answers (1)
the cyclist
on 20 Mar 2020
contains(cellstr(Mfg),'bmw')
5 Comments
Kostiantyn Voskoboinik
on 20 Mar 2020
the cyclist
on 20 Mar 2020
Do you have an older version of MATLAB? The contains function was introduced in R2016b.
Kostiantyn Voskoboinik
on 20 Mar 2020
the cyclist
on 20 Mar 2020
This is more awkward, but will work
not(cellfun(@isempty,strfind(cellstr(Mfg),'bmw')))
I expect there is something more elegant.
Kostiantyn Voskoboinik
on 21 Mar 2020
Categories
Find more on Data Type Conversion in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!