我有一个像这样的单元格数组:
'10 Hz: Time_abs'
<1x2 cell>
<1x2 cell>
<1x2 cell>
<1x2 cell>
<1x2 cell>
<1x2 cell>
<1x2 cell>
'10 Hz: Time_abs'
<1x2 cell>
<1x2 cell>
<1x2 cell>
起初我需要找到哪些行有10赫兹:Time_abs&#39;然后删除相应的行。 我不能使用strcmp,因为其他行是&lt; 1x2 cell&gt;。
任何人都可以帮助我,我真的很感激。
最好的, 纳维德
答案 0 :(得分:2)
您可以逐个单元格迭代并使用isstr
函数检查字符串,例如:
A{1} = 'sdadfadf';
A{2} = 23;
A{3} = [1,2,3,4];
A{4} = 0;
for ii=1:length(A)
isstr(A{ii})
end
ans = 1
ans = 0
ans = 0
ans = 0
另一种解决方案是使用ischar
函数:
C{1,1} = magic(5);
C{1,2} = 'John Dump';
C{1,3} = 1 + 1i
C{1,4} = 0.0025
for k = 1:4
x(k) = ischar(C{1,k});
end
x
x =
0 1 0 0
答案 1 :(得分:0)
在一行中:
C{1,1} = magic(5);
C{1,2} = 'John Dump';
C{1,3} = 1 + 1i
C{1,4} = 0.0025
x = cellfun(@ischar, C)
x =
0 1 0 0