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