看板 MATLAB 關於我們 聯絡資訊
新手問問題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
PageRank:是要把那些數字集合起來,你的集合指的是? 02/01 00:49
peter0318:在for上面另一個temp=[],然後在把eval那行改成 02/01 00:57
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)
peter0318:更正錯字"另"->"令" 02/01 10:12