我需要搜索一个大型结构,并找到所有具有相同名称的组件的索引。
例如:如果名称为13hy,我需要返回数组[1,5]
structure(1,1).name = '13hy'
structure(2,1).name = '64hy'
structure(3,1).name = '37hy'
structure(4,1).name = '07hy'
structure(5,1).name = '13hy'
我试过了:
strcmp(structure.name,'13hy')
ismember(structure.name,'13hy')
strfind(structure.name,'13hy')
我不断收到错误'输入参数太多'。 请帮忙
答案 0 :(得分:3)
使用arrayfun
遍历结构,使用基于strcmp
的anonymous function来测试所需的名称:
find(arrayfun(@(n) strcmp(structure(n).name, '13hy'), 1:numel(structure)))
答案 1 :(得分:0)
使用[]:
的strcmp([structure.name], '13hy')
它链接内容并允许您像通常的变量一样压缩和使用结构。
享受!