finding specific elements in a cell vector

1 回表示 (過去 30 日間)
Sabbas
Sabbas 2012 年 8 月 3 日
Dear all,
I have 10 excel files
some files contains a column
A={
'1W'
'1W'
'1W'
'1W'
'1W'
'1W'
'1W'
'1W'
'1W'
'1W'
'1W'
}
and some other excel files contain the following column
A={'1W'
'1W'
'1W'
'1W'
'1W'
'2W'
'1W'
'1W'
'2W'
'1W'
'1W'}
I want to constract an if statement that will say
If A contains ONLY '1W'
'do that'
end
and another one that will say
if A contains ONLY '1W' AND '2W'
'do that'
end
thanks

回答 (2 件)

Honglei Chen
Honglei Chen 2012 年 8 月 3 日
uniqueA = unique(A);
if isequal(uniqueA,{'1W'})
...
elseif isequal(uniqueA,{'1W';'2W'})
...
end

Azzi Abdelmalek
Azzi Abdelmalek 2012 年 8 月 3 日
編集済み: Azzi Abdelmalek 2012 年 8 月 3 日
n=length(A)
if sum(cell2mat(regexp(A,'1W')))==n
test=1
elseif sum(cell2mat(regexp(A,'1W|2W')))==n
test=2
end
  2 件のコメント
Andrei Bobrov
Andrei Bobrov 2012 年 8 月 3 日
>>A={'1W'
'1W'
'1W'};
>>n=numel(A);
>> sum(cell2mat(regexp(A,'1W|2W')))==n && sum(cell2mat(regexp(A,'1W')))==n
ans =
1
?
Azzi Abdelmalek
Azzi Abdelmalek 2012 年 8 月 3 日
編集済み: Azzi Abdelmalek 2012 年 8 月 3 日
the order is important, when the first condition is true, the second is skiped even it is true. example:
if 2==2;test=1;elseif 3==3 test=2,end
%the result will be test=1 ,

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

カテゴリ

Help Center および File ExchangeStandard File Formats についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by