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 Exchange에서 Matrices and Arrays에 대해 자세히 알아보기

질문:

2021년 2월 15일

댓글:

2021년 2월 15일

Community Treasure Hunt

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

Start Hunting!

Translated by