Я пытаюсь запустить этот простой диффузионный чехол (я понимаю, что он вообще не идеален), и я делаю все возможное, чтобы получить внутреннюю часть твердого тела, но вам нужна помощь с внешними краями ,Наружные границы диффузии
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
Это довольно простой фрагмент кода, и я это знаю. Я не очень хорошо использую Октаве (химик по профессии), поэтому я был бы признателен за любую помощь!
В чем проблема? Что вы ожидали увидеть и что не работает так, как вы ожидали? В настоящее время этот вопрос довольно сложно ответить, пожалуйста, предоставьте дополнительную информацию. – Junuxx
Пожалуйста, не используйте '' размер'' в качестве имени переменной. Это также функция [Matlab] (http://www.mathworks.com/help/matlab/ref/size.html). – Schorsch
Прошу прощения. Мой советник предложил использовать размер, поскольку это было бы проще, размер может быть чем угодно в этом случае, скажем, 100. В его нынешнем виде модель не достигает внешнего края, как не может.Я ищу способ обойти это так, чтобы внешний край мог быть включен –