我正在尝试运行这个简单的扩散案例(我知道它通常并不理想),并且我在获得固体内部方面做得很好,但在外边缘需要一些帮助。
global M
size=100
M=zeros(size,size);
M(25,25)=50;
for diffusive_steps=1:500
oldM=M;
newM=zeros(size,size);
for i=2:size-1;
for j=2:size-1;
%we're considering the ij-th pixel
pixel_conc=oldM(i,j);
newM(i,j+1)=newM(i,j+1)+pixel_conc/4;
newM(i,j-1)=newM(i,j-1)+pixel_conc/4;
newM(i+1,j)=newM(i+1,j)+pixel_conc/4;
newM(i-1,j)=newM(i-1,j)+pixel_conc/4;
end
end
M=newM;
end
这是一段非常简单的代码,我知道这一点。我还不太擅长使用 Octave(贸易化学家),所以我很感激任何帮助!