在 Matlab 中使用字符串变量间接引用结构变量
indirect reference to a structure variable using a string variable in Matlab
我正在尝试创建一个变量,我可以在其中键入与结构中的变量相对应的字符串,这样我就可以创建一组图,而这些图之间的唯一区别是变量。
即目前:
example(1:100).variable1=[matrix]
example(1:100).variable2=[matrix]
example(1:100).variable3=[matrix]
for i=1:100
figure (i)
surf(x,y,example(i).variable1)
[Formatting code]
surf(x,y,example(i).variable2)
[Formatting code]
surf(x,y,example(i).variable3)
[Formatting code]
end
由于有相当多的格式化代码,而且我一次只关心一个变量,所以我想要一种比注释掉我 want/don 不想要的任何一组更好的方法。
有没有办法做到以下几点?
即理想:
example(1:100).variable1=[matrix]
example(1:100).variable2=[matrix]
example(1:100).variable3=[matrix]
stringVariable='variable1'
for i=1:100
surf(x,y,example(i).stringVariable)
[Formatting code]
end
感谢任何建议。
在matlab中的做法是在引用struct字段时将变量封装在括号中。
例如:
>> thisstruct.A = [1 1 1];
>> thisstruct.B = [0 0 0];
>> variable = 'A';
>> thisstruct.(variable)
ans =
1 1 1
>> variable = 'B';
>> thisstruct.(variable)
ans =
0 0 0
我正在尝试创建一个变量,我可以在其中键入与结构中的变量相对应的字符串,这样我就可以创建一组图,而这些图之间的唯一区别是变量。
即目前:
example(1:100).variable1=[matrix]
example(1:100).variable2=[matrix]
example(1:100).variable3=[matrix]
for i=1:100
figure (i)
surf(x,y,example(i).variable1)
[Formatting code]
surf(x,y,example(i).variable2)
[Formatting code]
surf(x,y,example(i).variable3)
[Formatting code]
end
由于有相当多的格式化代码,而且我一次只关心一个变量,所以我想要一种比注释掉我 want/don 不想要的任何一组更好的方法。
有没有办法做到以下几点?
即理想:
example(1:100).variable1=[matrix]
example(1:100).variable2=[matrix]
example(1:100).variable3=[matrix]
stringVariable='variable1'
for i=1:100
surf(x,y,example(i).stringVariable)
[Formatting code]
end
感谢任何建议。
在matlab中的做法是在引用struct字段时将变量封装在括号中。
例如:
>> thisstruct.A = [1 1 1];
>> thisstruct.B = [0 0 0];
>> variable = 'A';
>> thisstruct.(variable)
ans =
1 1 1
>> variable = 'B';
>> thisstruct.(variable)
ans =
0 0 0