b***k 发帖数: 2673 | 1 定义
a.a1=0.3
a.a2=0.4
a.a3=0.5
想取出这个数,除了直接用a.a1,a.a2,a.a3之外,
还有没有其他通用一点的办法,比如a.(1), a.(2),etc..
这样就可以不必知道每个自变量的名字,只要知道顺序就可以了。 | b***k 发帖数: 2673 | 2 ok, I got it now.
names=fieldnames(a)
a.a1=getfield(a,names{1});
a.a2=getfield(a,names{2});
a.a3=getfield(a,names{3});
【在 b***k 的大作中提到】 : 定义 : a.a1=0.3 : a.a2=0.4 : a.a3=0.5 : 想取出这个数,除了直接用a.a1,a.a2,a.a3之外, : 还有没有其他通用一点的办法,比如a.(1), a.(2),etc.. : 这样就可以不必知道每个自变量的名字,只要知道顺序就可以了。
| k**f 发帖数: 372 | 3 Also look for "dynamic field" in matlab help, which could be more flexible
than what you have here:
a.a1 = a.(names{1}); |
|