1. 程式人生 > >Julia 中矩陣 `按列` 儲存, 以及 for 迴圈指標變化次序

Julia 中矩陣 `按列` 儲存, 以及 for 迴圈指標變化次序

Julia 的矩陣,例如 A[i,j,k] 是按照 column 儲存的,最內層的指標 i 變化最快,所以如果要 for 迴圈矩陣,一定要使得 i 指標變化最快,才是最優的,例如 (這裡補充下,對於 for a = A, b = B, ... end 這種迴圈,b 是變化最快的,即 b 是迴圈的最內層):

A = zeros(5,6,7);

I = 1:5; J = 1:6; K = 1:7;

for k = K, j = J, i = I
    A[i,j,k] = 0.1
end

更多的事例可以參考:Access arrays in memory order, along columns