[討論] 讓兩個矩陣的列數交錯
我有兩個矩陣 A的大小是2000000x6 B的大小是1999999x6
我想讓這兩個矩陣的列數交錯 產生一個新的矩陣是3999999x6
開頭一樣是A的第一列 結尾一樣是A的最後一列 但是把B給塞進去了
像這樣
A1
B1
A2
B2
.
.
.
.
Bend
Aend
我寫了迴圈慢慢做 A1B1
A1B1A2B2
A1B1A2B2A3B3
.
.
.
.
一開始程式跑很快 估計幾十分鐘就可以跑完
但是越跑越慢 我用計時程式發現間隔時間呈等加級數增加
最後估計需要好幾天的時間才可以跑完
請問是哪裡出了問題? 還想請問有比較快速的寫法嗎??
謝謝
附上原始程式
ee=length(A);
tic
C=[];
TimeSpend=[0];
for j = 2:ee-1
C=[C;A(j-1,:);B(j-1,:)];
TimeInterval=toc-TimeSpend
TimeSpend=toc
end
C=[C;A(end-1,:);B(end,:);A(end,:)];
save 'C.txt' C -ascii
還有最後出來的新矩陣C其實就是A所有兩兩列數中間插入'上下兩列的中間值'
ex:A= 1 3 5 B= 2 2 5 C= 1 3 5
3 1 5 2 1 3 2 2 5
1 1 1 3 1 5
2 1 3
1 1 1
我在算B矩陣時也是時間間隔會越來愈長 估計完成也要花1天的時間
想請問有沒有比較快的方法
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.125.30.111
推
12/02 11:00, , 1F
12/02 11:00, 1F
→
12/02 11:00, , 2F
12/02 11:00, 2F
→
12/02 11:01, , 3F
12/02 11:01, 3F
→
12/02 11:02, , 4F
12/02 11:02, 4F
→
12/02 11:03, , 5F
12/02 11:03, 5F
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章
19
44