PTT
Submit
Submit
選擇語言
正體中文
简体中文
PTT
MATLAB
[討論] 矩陣重組reshape(更有效率方法?)
作者:
yuhung
(MimiBao)
2016-08-29 12:23:04
我現在處理很大的數據
每筆數據都是透過binary檔案讀出來的
一開始讀出來長這樣:
PPPP.....PP QQQQQ....QQ DD....DD
P、Q、D的數目相同 (P、Q、D代表參數,我其實有9種不同參數)
reshap後可以變成這樣
12345678.....
A PPPPPPQQQQQQDDDDDD
B PPPPPPQQQQQQDDDDDD
C PPPPPPQQQQQQDDDDDD
D PPPPPPQQQQQQDDDDDD
但我希望長這樣:
PQD
PQD
PQD
PQD
PQD
...etc.
我現在用的方法很土法煉鋼,不是迴圈(迴圈會變超級慢,因為總共是45萬*9參數)
我是使用編號的方法,在第二步加了橫向的編號
透過幾次轉置矩陣+reshap後
利用sortrow(編號)達到我要的效果,雖然速度上也夠快
但總覺得程式碼很醜
不知道有沒有更簡潔的作法?
謝謝 :)
作者:
sunev
(Veritas)
2016-08-29 12:34:00
reshape(permute(reshape(X,4,112500,9),[2 1 3]),[],9);
作者:
yuhung
(MimiBao)
2016-08-29 12:47:00
請問為什麼是112500? 另外[2 1 3]這裡我不太了解P、Q、D分別代表三種參數 但我事實上有九種其實我和permute真的不太熟 剛剛也是看好久但越跑越怪QQ
作者:
sunev
(Veritas)
2016-08-29 13:08:00
如果把轉置看成 A_ij -> A_ji ,那permute就是轉置的推廣
作者:
yuhung
(MimiBao)
2016-08-29 13:16:00
謝謝,我剛剛寫出來變成index notation後,果然就清楚多了倒是真的沒想到reshape有更多維度可以運用
繼續閱讀
[問題]請問可適性濾波器能實現零相位濾波嗎??
newlylive
[其他] kmean 分群問題
lenofire
[請益] 讀取binary 檔 (*.plt)問題
yuhung
[討論] 送p幣 函式中的mod 不想要出現小數
JACK19920102
[討論] 請問怎樣在imagesc格子內加文字?
fghjkl1000
[問題] excel hex to binary問題
poisonsea
[討論] 想請教 要怎麼控制格子?
money80226
[討論] 想請教矩陣 X-rot90(X,-1) = A 要怎麼解?
koogoo
[問題] 以字串為變數名稱
fxxkjoe1231
[討論] 試求基因演算法得到最佳化的解
mia81530
Links
booklink
Contact Us: admin [ a t ] ucptt.com