Check if cell contains another cell

6 ビュー (過去 30 日間)
Marc Laub
Marc Laub 2022 年 10 月 20 日
コメント済み: Jiri Hajek 2022 年 10 月 21 日
Hey,
I need to check if my cell contains another cell or if the contant is a character vector.
So I got a
a=1x130 cell
and
a{1}='1-v1';
a{2}='.*'
a{3}='3+v2'
a{4}=1x3 cell
...
So e need to check wether the cell content is a character vector like a{1} or a{3}, contains an operater such as a{2}, or a cell itsself with the same structure as a
Then I wanna
eval('(1-v1).*(3+v2)')
So with
ischar
I can check wether its .* or an character arry, but how do I check if its a subcell, to call the fiunction recursive?
Best regards

採用された回答

the cyclist
the cyclist 2022 年 10 月 20 日
a{1}='1-v1';
a{2}='.*';
a{3}='3+v2';
a{4}={'this is a cell'};
cellfun(@iscell,a)
ans = 1×4 logical array
0 0 0 1
  5 件のコメント
Marc Laub
Marc Laub 2022 年 10 月 20 日
Yeah, guess the variable editor shows directly the string within the cell when its a 1x1 cell...

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

その他の回答 (1 件)

Jiri Hajek
Jiri Hajek 2022 年 10 月 20 日
Hi,
you can use the isa function:
isa(a{i},'cell')
Note that the use of eval is not recommended for many a good reason...
  2 件のコメント
Jiri Hajek
Jiri Hajek 2022 年 10 月 21 日
I believe you have got your answer already, as the cyclist pointed out the fact that variable viewer is not a reliable way to check the class of data, rather a viewer that helps you to analyze data. And we can trust the isa/iscell commands, which is not really surprising, considering how long they have been a part of MATLAB...

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

カテゴリ

Find more on Graphics Object Programming in Help Center and File Exchange

製品


リリース

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by