查看单个帖子
旧 2019-12-10, 20:48   #1
poster
高级会员
 
注册日期: 2019-11-21
帖子: 3,006
声望力: 66
poster 正向着好的方向发展
帖子 在MATLAB单元阵列中查找和过滤元素

我有一个具有这样的结构的元素列表(单元格数组):

mystruct = struct('x', 'foo', 'y', 'bar', 's', struct('text', 'Pickabo')); mylist = {mystruct }; 现在,我想为s.text =='Pickaboo'或其他预定义字符串的所有结构过滤mylist。在MATLAB中实现此目标的最佳方法是什么?显然,这对于数组很容易,但是对单元格执行此操作的最佳方法是什么?



回答:

您可以为此使用CELLFUN

hits = cellfun(@(x)strcmp(xstext,'Pickabo'),mylist); filteredList = mylist(hits); 但是,为什么要构造一个单元格?如果所有结构都具有相同的字段,则可以制作一个结构数组。为了获得成功,您可以使用ARRAYFUN



更多&回答...
poster 当前离线   回复时引用此帖