0
考虑一个MATLAB结构用Matlab“联盟”功能,我有一个环比的字段名如下:在一个循环
scenario = fieldnames(myStruct)
for scenarioidx = 1:length(scenario)
scenarioname = scenario{scenarioidx};
category = fieldnames(myStruct.(scenarioname))
for categoryidx = 1:length(category)
categoryname = category{categoryidx};
entity = fieldnames(myStruct.(scenarioname).(categoryname))
end
end
这个循环返回我对每个类别的实体。现在,我想将所有这些实体合并到一个向量中。我试图用“联盟”的功能如下:
scenario = fieldnames(myStruct)
for scenarioidx = 1:length(scenario)
scenarioname = scenario{scenarioidx};
category = fieldnames(myStruct.(scenarioname))
for categoryidx = 1:length(category)
categoryname = category{categoryidx};
allEntity = {}
entity = fieldnames(myStruct.(scenarioname).(categoryname))
combo_entity = union (allEntity, entity)
end
end
不幸的是,这只是返回相同的结果之前,而不是结合东西。 有没有人有关于如何在这样的循环中实现联合功能的任何想法?
谢谢你这样做的工作!不幸的是我需要在这个循环中实现联合功能! – steve
@steve我不明白。当你说你想*实现*'union'时,你的意思是你想要定义这个函数,或者只是使用标准函数? 'union'是一个标准函数,并且与set union有关。它仅适用于数字数组或字符串的单元数组。所有的“实体”事物都是数字,字符串还是其他东西? –
我只需要使用标准的** union **功能。在运行我的**域名**循环时,**实体**是n×1单元格。 – steve