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?

 採用された回答

Star Strider
Star Strider 2021 年 2 月 15 日

0 投票

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 件のコメント

BENJAMIN BUCHDA
BENJAMIN BUCHDA 2021 年 2 月 15 日
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 2021 年 2 月 15 日
編集済み: Adam Danz 2021 年 2 月 15 日
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));
Star Strider
Star Strider 2021 年 2 月 15 日
BENJAMIN BUCHDA — Als always, my pleasure!
Adam Danz — Thank you.
.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeMatrices and Arrays についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by