# Check if cell contains another cell

6 ビュー (過去 30 日間)
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 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 件のコメント表示非表示 4 件の古いコメント
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 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 件のコメント表示非表示 1 件の古いコメント
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