Here is code that trying to use min. iterative solution
filter = ones(3)/(sum(sum(ones(3))))
Image = [1,2,3,4;2,3,4,5;3,4,5,6;]
Output = zeros(rows(Image), columns(Image))
cImage = vertcat(zeros(1, columns(Image)+2),(horzcat(zeros(rows(Image), 1), Image, zeros(rows(Image), 1))), zeros(1, columns(Image)+2))
for i=2:rows(Image)+1
for j=2:columns(Image)+1
Output(i-1,j-1)=sum(sum(filter.*cImage(i-1:i+1, j-1:j+1)));
endfor
endfor