is not equal in cellarray
7 次查看(过去 30 天)
显示 更早的评论
how to make a not equal if statement in cellarray?
I tried this one:
for i=1:length(levelxxx)
if ~isequal(levelxxx{i},level1_root)
levelxxx(i,:)=[];
end
end
but it is not working!!
2 个评论
Jan
2012-11-4
Whenever you write "is not working" in a forum, it is useful and recommended to explain, what actually happens: do you get an error message (if so, post a complete copy of the message) or do the results differ from your expectations?
采纳的回答
Matt J
2012-11-4
Maybe this?
idx = ismember(levelxxx(:,1),level1_root,'rows');
levelxxx= levelxxx(idx,:);
更多回答(1 个)
Azzi Abdelmalek
2012-11-4
编辑:Azzi Abdelmalek
2012-11-4
when the condition is true :
levelxxx(i,:)=[];
then the size of levelxxx will be reduced!
use
v_temp=levelxxx
for i=1:length(v_temp)
if ~isequal(v_temp{i},level1_root)
levelxxx(i,:)=[];
end
end
3 个评论
Azzi Abdelmalek
2012-11-5
编辑:Azzi Abdelmalek
2012-11-5
I did a big mistake, try Simon's code. And post a sample of your data
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Matrix Indexing 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!