[討論] for迴圈相關問題請教(新手問~已解決!)

看板MATLAB作者 (**承晏**)時間11年前 (2013/02/01 00:25), 編輯推噓2(202)
留言4則, 2人參與, 最新討論串1/1
新手問問題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

02/01 00:49, , 1F
是要把那些數字集合起來,你的集合指的是?
02/01 00:49, 1F

02/01 00:57, , 2F
在for上面另一個temp=[],然後在把eval那行改成
02/01 00:57, 2F

02/01 00:57, , 3F
temp=[temp eval([ num2str(i)] )]; 這樣的結果ok嗎
02/01 00:57, 3F
感謝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)

02/01 10:12, , 4F
更正錯字"另"->"令"
02/01 10:12, 4F
文章代碼(AID): #1H2fi7qO (MATLAB)