[問題] 矩陣運算的問題
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
VC++2010
問題(Question):
我想請問一下對於多維的矩陣運算是否有較快的方法
在我以往看到的寫法都是用for迴圈去展開
例如 我的是三維矩陣A[D][M][N]+B[D][M][N]
但如果我的矩陣很大(M、N很大) 又很多(D很大)
運算流程是
for(int i; i<D; i++){
for(int j; j<M; j++){
for(int k; k<N; k++){
C[i][j][k]=A[i][j][k]+B[i][j][k];
}
}
}
所以我想問一下 是否有可以比較簡化的用法
例如我只要
for(int i; i<D; i++){
C[i]=A[i]+B[i];
}
就可以達到跟上面一樣的效果,而不用一層一層下去慢慢算
當然運算的流程是比較固定型式的
例如C[i][j]=A[i][j]+B[i][j]或是C[i][j]=B[i][j]-A[i][j]
都是固定的 行對應行 列對應列
因為我想增加我程式的運算速度,但爬了一下文 似乎沒有我所想要的這種方法?
大都是使用多執行緒來增加速度(我是想多用一些方法來增加速度),還是說這種運算,
只能靠找出它的規則來化簡程式的寫法
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 210.240.236.116
→
11/05 15:52, , 1F
11/05 15:52, 1F
其實說大也不是很大 基本上是我誇大的講法
我是想形容說 如果D、M、N都不小的話 那對於在for迴圈作運算的時間就會長很多
所以想請教有沒有方法可以減少這些時間
推
11/05 16:12, , 2F
11/05 16:12, 2F
※ 編輯: abab7974 來自: 210.240.236.116 (11/05 16:13)
→
11/05 16:14, , 3F
11/05 16:14, 3F
→
11/05 16:15, , 4F
11/05 16:15, 4F
→
11/05 16:19, , 5F
11/05 16:19, 5F
推
11/05 16:50, , 6F
11/05 16:50, 6F
→
11/05 19:30, , 7F
11/05 19:30, 7F
→
11/06 09:52, , 8F
11/06 09:52, 8F
推
11/06 12:37, , 9F
11/06 12:37, 9F
討論串 (同標題文章)
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章