Решаем уравнение Лапласа конечно-разностной схемой
Автор
# Создание лапласиана для 4-связной сетки
function delsq(G)
m,n = size(G) # Сохраним размер матрицы G в переменные
# Координаты точек сетки
p = findall(!iszero, G);
# Свяжем внутренние точки значением 4
i = G[p]
j = G[p]
s = 4*ones( length(p) )
# for k = север, восток, юг, запад
for k in CartesianIndex.([(-1,0), (0,1), (1,0), (0,-1)])
# возможный сосед по направлению k
Q = G[ p + fill(k, length(p)) ];
# индексы соседних точек на сетке
q = findall( !iszero, Q );
# свяжем точку сетки с соседями с коэф. -1
i = [i; G[p[q]]];
j = [j; Q[q]];
append!(s, -ones(length(q)));
end
D = sparse(i,j,s)
end;