[問題] 請教如何加快矩陣的排列運算已回收

看板MATLAB作者 (世事難預料)時間17年前 (2008/12/04 15:14), 編輯推噓8(809)
留言17則, 5人參與, 最新討論串1/2 (看更多)
小弟最近要重排一個矩陣..原始的樣子像這樣 26 1 27 5 28 6 排完以後要變成 26 27 27 27 27 27 28 28 28 28 28 28 這個矩陣有點大..一共要排3408603個.. 目前想到的方法有兩個 1.土法煉鋼一個一個排..這個已經跑了一天一夜了.. 2.將矩陣補成如下方陣以後..在排成一列..最後去0 26 0 0 0 0 0 27 27 27 27 27 0 28 28 28 28 28 28 方法二感覺起來比較快..但是小弟的電腦排不了這麼大的方陣(1467x844149) 都在捕0時出現"Out of menory" 因此上來請教除了上面這些方法外還有啥可以加速執行效果的 因為後面小弟還有95個同樣的檔案..不是很想這樣子慢慢跑 感謝.. -- http://www.wretch.cc/blog/cfleu -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.120.90.189

12/04 15:27, , 1F
我以前在8065寫過,小改一下就好,不過我印象後來看到有
12/04 15:27, 1F

12/04 15:28, , 2F
人寫過更好的寫法,只是想不太起來在哪篇了orz
12/04 15:28, 2F

12/04 15:28, , 3F
感謝樓上..我來看看..
12/04 15:28, 3F

12/04 15:29, , 4F
8065竟然也是我問的問題..真糗..
12/04 15:29, 4F

12/04 15:34, , 5F
原來過了一年啦(汗)
12/04 15:34, 5F

12/04 15:36, , 6F
對阿..
12/04 15:36, 6F

12/04 15:47, , 7F
感謝Gwaewluin這一年來的諄諄教誨..快超多..
12/04 15:47, 7F

12/04 16:24, , 8F
1467*844149/2^30 = 1.1533
12/04 16:24, 8F

12/04 16:25, , 9F
如果用int還有希望....反正現在ram很便宜嘛
12/04 16:25, 9F

12/04 17:21, , 10F
等等...搞不好可以用sparse做
12/04 17:21, 10F

12/04 20:03, , 11F
9959篇
12/04 20:03, 11F

12/04 21:32, , 12F
對啦!就是這篇寫更好的!
12/04 21:32, 12F

12/05 14:34, , 13F
12/05 14:34, 13F

12/08 18:26, , 14F
方法二repmat(a(:,1),[1,6]).*de2bi(2.^a(:,2)-1)
12/08 18:26, 14F

12/08 18:28, , 15F
a=[26 1;27 5;28 6]
12/08 18:28, 15F

12/08 18:28, , 16F
刪去0應該不難 應該也是out of memory啦Q_Q
12/08 18:28, 16F

12/08 18:29, , 17F
都不知道我在講啥 哈哈 僅供參考啦
12/08 18:29, 17F
文章代碼(AID): #19DuDKOP (MATLAB)
文章代碼(AID): #19DuDKOP (MATLAB)