I have made the simple code:
for i=2:xsize-1 for j=2:ysize-1 for n=2:zsize-1 matrix(i,j,n)=matrix(i,j,n)+0.2*(matrix(i,j,n)*6-matrix(i-1,j,n)-matrix(i+1,j,n)-matrix(i,j-1,n)-matrix(i,j+1,n)-matrix(i,j,n-1)-matrix(i,j,n+1)); end endend
This is part of a diffusion problem and it is particularly slow because the 3D matrix is large. Is it possible to vectorize an operation like this? How do you vectorize references to the matrix like this?
Best Answer