作者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