假设我有一个像这样的结构:
master = struct('a',struct(),'b',struct())
在R中这将是一个向量列表,我可以使用master [1]或master [2]访问第一个或第二个元素。是否可以在Matlab中执行此操作?
谢谢!
答案 0 :(得分:4)
简短的回答是你不能。
您可以将dynamic field references与结构的fieldnames
一起使用:
master = struct('a',struct('hi', 1),'b',struct('hi', 2));
myfields = fieldnames(master); % Need temporary variable
master.(myfields{1})
返回:
ans =
hi: 1
您还可以创建一个结构数组:
master(1) = struct('a', 1, 'b', 2);
master(2) = struct('a', 3, 'b', 4);
您可以使用与R:
类似的索引(sorta)>> [master(1).a master(2).b]
ans =
1 4
>> [master(:).a]
ans =
1 3