Hello,
I have a cell with string elements and I am trying to check if they exist as variables:
A={'B0','B01','B04'}
for i=1:3
if exist(A(i,1),'var')==1
...
This does not work so what do I do? Thx!

 採用された回答

Walter Roberson
Walter Roberson 2012 年 4 月 12 日

1 投票

if exist(A{i,1},'var')
Notice the {} instead of ()

3 件のコメント

osminbas
osminbas 2012 年 4 月 12 日
You rock, Walter!
Shamir Alavi
Shamir Alavi 2012 年 12 月 7 日
It doesn't work for me! Here's the code:
>> h = {1,2;3,4};
>> exist('h','var')
ans =
1
>> exist('h{1}','var')
ans =
0
>> exist('h{1,1}','var')
ans =
0
Am I making any mistake? If not, is there any other way to check existence of different elements in a cell array?
Thanks
Matt J
Matt J 2012 年 12 月 7 日
編集済み: Matt J 2012 年 12 月 7 日
You have several errors. First, notice that Walter doesn't enclose the first argument to exist() in quotes. Secondly, your h{i,j} data are not relevant examples because they are not strings.

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

その他の回答 (1 件)

RNTL
RNTL 2012 年 4 月 12 日

1 投票

ismember(A,who)

2 件のコメント

osminbas
osminbas 2012 年 4 月 12 日
Actually, I am really trying to use exist and check the elements one by one in a loop so ismember(A,who) would not work for me.
Jan
Jan 2012 年 12 月 7 日
@osminbas: Please take the time to think twice. This method would help to avoid the loop or at least compare all elements of the cell string h in a very compact form.

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

カテゴリ

ヘルプ センター および File Exchange で Environment and Settings についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by