Cell Arrays causing problem with Subsetting

조회 수: 1 (최근 30일)
Metin Akyol
Metin Akyol 2022년 2월 12일
댓글: Metin Akyol 2022년 2월 12일
I am trying to create a subset of a table like so (which works fine)
cond1 = "random_name"
table2= (table1.col1 == cond1,:)
Now, instead, when I define cond1 as the first element from another table (which has only one column with only strings) like so:
cond2 = table3{1,:}
the new string has only single quotation marks:
'random_name'
This however causes the following error:
table2= (table1.col2 == cond1,:)
Operator '==' is not supported for operands of type cell. Now I could used strcmp instead:
table2= (strcmp (table1.col2 ,cond1),:)
But I am wondering if there is a simpler solution to this problem?

채택된 답변

Image Analyst
Image Analyst 2022년 2월 12일
편집: Image Analyst 2022년 2월 12일
Like it said you need to be using contains() or strcmpi() instead of ==.
No simpler way.
Attach your table in a .mat file if you need more help so we can try additional things.
  댓글 수: 1
Metin Akyol
Metin Akyol 2022년 2월 12일
Got it, thank you, I appreciate the help. I'll stick to strcmp then.
For my reproducable version, Table3 itself is pretty simple, just 1X1 size and contains only that one string.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Logical에 대해 자세히 알아보기

제품


릴리스

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by