hht123 发表于 2014-4-21 17:28

Matlab循环赋值问题

b11=Sig-rcfs11;
b12=Sig-rcfs12;
b21=Sig-rcfs21;
b22=Sig-rcfs22;
b23=Sig-rcfs23;
b24=Sig-rcfs24;
b31=Sig-rcfs31;
b32=Sig-rcfs32;
b33=Sig-rcfs33;
b34=Sig-rcfs34;
b35=Sig-rcfs35;
b36=Sig-rcfs36;
b37=Sig-rcfs37;
b38=Sig-rcfs38;

如上,怎么用for循环赋值啊

chybeyond 发表于 2014-4-21 21:38

num = ;
for ii = 1:length(num)
    eval(['b' num2str(num(ii)) ,'=' , 'sig-' 'rcfs' num2str(num(ii))]);
end
不知道为什么非要用b11、b38这些特殊变量来存储,完全可以存储的一个矩阵或者是元宝数组中,
而且eval执行效率很低。

ChaChing 发表于 2014-4-21 21:44

help eval
或许还有更有效的方式, 自行查下help吧

hht123 发表于 2014-4-22 09:48

chybeyond 发表于 2014-4-21 21:38
num = ;
for ii = 1:length(num)
    eval(['b' num2str(nu ...

在弄算法,一共八层,后面还有很多呢,我没写,一直到81```````8256,第八层有2的八次方个数,谢谢你的回复,我试一下

hht123 发表于 2014-4-22 10:06

嗯,按照回复的,弄出来了,谢谢两位大神{:{23}:}

ChaChing 发表于 2014-4-24 08:54

非常认同chybeyond, 应该完全可以存储在一个矩阵中
LZ或许考量下
页: [1]
查看完整版本: Matlab循环赋值问题