Finding a column with specific text

I am trying to create a function that takes a array of characters and finds the first column that has a specific input. It seems to work however when I ask have cells with multiple characters an error message saying matrix dimensions must agree. Not sure what I am doing wrong. Any suggestions?

 Risposta accettata

Star Strider
Star Strider il 15 Feb 2021

0 voti

I have no clear idea of what the exact problem is, however using strfind or strcmp (or strcmpi) instead of the logical operation with ‘==’ could do what you want.

3 Commenti

Awesome thank you. That seems to work except I need my output to be the column number that this logical array finds true.
Adam Danz
Adam Danz il 15 Feb 2021
Modificato: Adam Danz il 15 Feb 2021
strcmp/strcmpi returns the index number.
If your array is 1D (vector) then you're problem is solved.
If your array is >1D you can use ind2sub to get the column number.
ind = strcmpi(YourArray, subStr);
[~, col] = ind2sub(size(YourArray),find(ind));
BENJAMIN BUCHDA — Als always, my pleasure!
Adam Danz — Thank you.
.

Accedi per commentare.

Più risposte (0)

Categorie

Community Treasure Hunt

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

Start Hunting!

Translated by