作者ken780713 (**承晏**)
看板MATLAB
标题[讨论] for回圈相关问题请教(新手问~)
时间Fri Feb 1 00:25:41 2013
新手问问题Q!麻烦各位帮忙解惑Orz!
以下:
for i = 1:j;
k=x*(i-1)+1;l =x*i;
B= A(k:l,2);
B1= B(1:x);B2 = B(x:end);
M1 = max(B1); M2 = max(B2);
Mavg = (M1+M2)/2;
eval(['MSD' num2str(i) '=Mavg']);
end
这样我已经可以得到MSD1~MSDj了,可是如果我想把这些数字集合起来该怎麽做呀??
(感觉这问题很简单XD,不好意思麻烦大家了!)
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 1.171.53.194
1F:→ PageRank:是要把那些数字集合起来,你的集合指的是? 02/01 00:49
2F:推 peter0318:在for上面另一个temp=[],然後在把eval那行改成 02/01 00:57
3F:→ peter0318:temp=[temp eval([ num2str(i)] )]; 这样的结果ok吗 02/01 00:57
感谢peter!! 我刚刚成功了类似的方法
直接丢进去%temp=[temp eval([ num2str(i)] )] 有error
所以修改成这样就可以了~不知道会不会过於冗长(!?)
MSD_all =[]
for i = 1:j;
k=x*(i-1)+1;l =x*i;
B= A(k:l,2);
B1= B(1:x);B2 = B(x:end);
M1 = max(B1); M2 = max(B2);
Mavg = (M1+M2)/2;
eval(['MSD' num2str(i) '=Mavg']);
MSD_single =eval(['MSD' num2str(i)]);
MSD_all = [MSD_all MSD_single]
end
※ 编辑: ken780713 来自: 1.171.53.194 (02/01 01:22)
4F:推 peter0318:更正错字"另"->"令" 02/01 10:12