Matlab 动态命名变量名 结构体 field name
动态命名变量名是经常会遇到的问题,比如A1, A2, A3, A4...
很多人会用eval 函数,然而matlab官方并不建议大家这么用,因为eval 不能编译,是运行时才会跑的函数。下面说一下建议的方法,
x={'a1' 'a2' 'a3' 'a4'}; %先建立一个字符串数组,放入你想命名的函数名
myStruct.a1=[1 2 3 4];
myStruct.a2=[10 11 15 11];
myStruct.a3=[4 5 6 7];
myStruct.a4=[8 9 10 11];
或者换一个赋值方式,
x={'a1' 'a2' 'a3' 'a4'};
for i=1:3,
myStruct.(x{1,i})= i;
end
发布于 2021-07-13 19:30