Re: [問題] 將連續數字分群已回收

看板MATLAB作者時間15年前 (2009/04/26 21:46), 編輯推噓0(001)
留言1則, 1人參與, 最新討論串2/4 (看更多)
※ 引述《tseuga ()》之銘言: : 如果有個矩陣 a=[1 2 3 4 10 11 12] : 要將3個連續的數字分成一群 : 矩陣出來要是b=[1 2 3;10 11 12] : 我想到的是diff(a)==1 : 然後再每三個數相加,看有沒有等於3 : 不過這樣取到的值就和我要的不一樣 : 想請問要怎麼修改或是怎樣寫才對 : 謝謝 a=[1 2 3 4 5 6 7 10 11 12 14 15 21 22 23 24 25 26 29 31 32 33 34 36] b=diff([a(1) a a(end)]) c=find(b~=1) d=diff(c) e=floor(d/3) f=find(e>0) ind=[]; for m=1:length(f) ind=[ind a(c(f(m))):3:a(c(f(m)))+(e(f(m))-1)*3] end A=[] for m=1:length(ind) A=[A;ind(m):ind(m)+2] end -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.168.38.119

04/26 22:51, , 1F
雖然已經寫出來.但這寫法比我的好很多.非常感謝.
04/26 22:51, 1F
※ 編輯: shane 來自: 140.129.77.9 (04/27 13:57) ※ 編輯: shane 來自: 140.129.77.9 (04/27 15:07)
文章代碼(AID): #19z6MR-t (MATLAB)
文章代碼(AID): #19z6MR-t (MATLAB)