ii=2;
ij=3;
H=[];
当使用H_2_3这样的格式存储数据时:
K>> eval(['HHHH_' num2str(ii) '_' num2str(ij) '=1'])
HHHH_2_3 =
1
K>> eval(['HHHH_ii_ij=1'])
HHHH_ii_ij =
1
注意:两种操作得到的结果不同
当使用H(2,3)这样的格式存储时
K>> eval(['HHH(' num2str(ii) ',' num2str(ij) ')=1'])
HHH =
0 0 0
0 0 1
K>> eval('HHH(ii,ij)=1')
HHH =
0 0 0
0 0 1
注意:两种操作得到的结果相同,而且后一种表达式更易读
原因在于对于H(ii,ij)编译器会自动识别ii,ij,执行H(2,3)赋值操作;
而对于H_ii_ij编译器无法识别ii,ij为变量,只能用不易读的赋值方法。