谢谢大家。我试图在MATLAB中执行以下代码并获得准确的结果。但是,当我尝试在for循环中执行此操作时,我不想在for循环的最后一行中编写nim_10_boat。我希望它应该被动态放置。请提出建议。
`for filenames = {'nim_01_boat', 'nim_10_boat'}
thisfile = filenames{2};
datastruct = load(thisfile);
xyz = datastruct.**nim_10_boat**;
end`
当我在命令窗口中执行datastruct时 datastruct =
im: [256x256 uint8]
n: 0.1000
K: 1
win: 3
nim_10_boat: [256x256 uint8]
答案 0 :(得分:2)
您可以如下动态访问字段名称:
% a sample struct
S = struct('a', randn(3), 'b', randn(5), 'c', randn(7));
fieldNames = {'a', 'b', 'c'};
for f = 1:length(fieldNames)
% access field
thisField = S.(fieldNames{f});
end
请注意使用()
来访问使用变量名的字段名。