Re: [問題] index插入問題已回收

看板MATLAB作者 (幻無影)時間15年前 (2010/05/03 13:17), 編輯推噓3(302)
留言5則, 3人參與, 最新討論串3/4 (看更多)
※ 引述《biglongtoday (大長今)》之銘言: : ※ 引述《yaohwei (笨笨的)》之銘言: : : 請問各位高手 : : 有一行的value為 x x 1 1 x x 1 1 x x 1 1 x x 1 1 x x 1 1 0 0... : : 其index為 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22... : : 小弟想要中間插入一些重複值 : : x x 1 x x 1 x x 1 x x 1 x x 1 x x 1 x x 1 x x 1... : :  使其index滿足 1 2 3 1 2 4 5 6 7 5 6 8 9 10 11 9 10 12 13 14 15 13 14 16... : : 謝謝各位高手的回覆 : : 拜託各位~ : X=randint(1,11,[0 20]) % X:原本資料 : t=length(X); : index=reshape(kron(buffer(1:4*ceil(t/4),3,-1),ones(1,2)),1,[]); : index(6:6:end)=index(3:6:end)+1; : index(t+2*fix((t-3)/3)+1:end)=[]; : X(index) 這裡假設你的資料長度是 4 的倍數的情況,若有不足請自行修改程式碼或補零。 X = 1:20; % original data Y = reshape(X, 4, []); Y = [Y([1 2 3], :); Y([1 2 4], :)]; Y = reshape(Y, 1, []); % processed data -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.94.230

05/03 13:52, , 1F
^^
05/03 13:52, 1F

05/04 01:42, , 2F
我的是一般化寫法 D大寫法最後尚須過濾解答長度
05/04 01:42, 2F

05/04 01:42, , 3F
不然會有問題
05/04 01:42, 3F

05/04 02:57, , 4F
過濾解答長度?什麼意思?是說輸入的時候長度不是 4n?
05/04 02:57, 4F

05/04 04:51, , 5F
看不出來原資料長度不是4n時有什麼自然的推廣
05/04 04:51, 5F
文章代碼(AID): #1BtbnXdl (MATLAB)
討論串 (同標題文章)
文章代碼(AID): #1BtbnXdl (MATLAB)