He aquí una descripción de cómo resolver la ecuación de laplace para una arbitraria $2$-D cuadrícula con las condiciones de contorno mediante el llamado "método de iteración":
Inicialización:
Crear una matriz de $M$ que representa cada punto de la cuadrícula, con una entrada por cada "pixel". Así, por ejemplo, para trabajar con un $7\times 7$ cuadrícula, debemos establecer
$$
M =
\begin{bmatrix}
0 & 0 & 0 & 0 & 0 & 0 & 0\\
0 & 0 & 0 & 0 & 0 & 0 & 0\\
0 & 0 & 0 & 0 & 0 & 0 & 0\\
0 & 0 & 0 & 0 & 0 & 0 & 0\\
0 & 0 & 0 & 0 & 0 & 0 & 0\\
0 & 0 & 0 & 0 & 0 & 0 & 0\\
0 & 0 & 0 & 0 & 0 & 0 & 0
\end{bmatrix}
$$
Nosotros, a continuación, establezca permanente de las condiciones de contorno que no se cambien a medida que mejoramos nuestra aproximación. Para obtener algún tipo de circular, podríamos establecer
$$
M =
\begin{bmatrix}
\mathbf1 &\mathbf1 &\mathbf1 &\mathbf1 &\mathbf1 &\mathbf1 &\mathbf1\\
\mathbf1 & \mathbf1 & 0 & 0 & 0 & \mathbf1 & \mathbf1\\
\mathbf1 & 0 & 0 & 0 & 0 & 0 & \mathbf1\\
\mathbf1 & 0 & 0 & \mathbf0 & 0 & 0 & \mathbf1\\
\mathbf1 & 0 & 0 & 0 & 0 & 0 & \mathbf1\\
\mathbf1 & \mathbf1 & 0 & 0 & 0 & \mathbf1 & \mathbf1\\
\mathbf1 &\mathbf1 &\mathbf1 &\mathbf1 &\mathbf1 &\mathbf1 &\mathbf1
\end{bmatrix}
$$
La negrita entradas permanecen constantes, mientras que el resto se actualizará a medida que mejoramos nuestra aproximación.
Nosotros, a continuación, normalmente se pone en algunos distinto de cero valor inicial para cada punto del terreno, con solo una aproximación. Por ejemplo, en este caso se podría poner
$$
M =
\begin{bmatrix}
\mathbf1 &\mathbf1 &\mathbf1 &\mathbf1 &\mathbf1 &\mathbf1 &\mathbf1\\
\mathbf1 & \mathbf1 & 0.66 & 0.66 & 0.66 & \mathbf1 & \mathbf1\\
\mathbf1 & 0.66 & 0.33 & 0.33 & 0.33 & 0.66 & \mathbf1\\
\mathbf1 & 0.66 & 0.33 & \mathbf0 & 0.33 & 0.66 & \mathbf1\\
\mathbf1 & 0.66 & 0.33 & 0.33 & 0.33 & 0.66 & \mathbf1\\
\mathbf1 & \mathbf1 & 0.66 & 0.66 & 0.66 & \mathbf1 & \mathbf1\\
\mathbf1 &\mathbf1 &\mathbf1 &\mathbf1 &\mathbf1 &\mathbf1 &\mathbf1
\end{bmatrix}
$$
Ahora estamos listos para comenzar el proceso iterativo
Iteración:
Lo que tenemos ahora (y justificará más adelante, tal vez) es el hecho de que en un $2$D plano donde $\phi$ es una función de la satisfacción de
$$
\nabla^2\phi=\frac{\partial^2\phi}{\partial x^2}+\frac{\partial^2\phi}{\partial y^2}=0
$$
el siguiente es aproximadamente verdadera:
Supongamos que $\phi(x_0,y_0)=\phi_0$
Deje $\Delta x$ $\Delta y$ ser "suficientemente pequeño" y definir:
$$
\phi_{x^+}=\phi(x_0+\Delta x,y_0)\\
\phi_{x^-}=\phi(x_0-\Delta x,y_0)\\
\phi_{y^+}=\phi(x_0,y_0+\Delta y)\\
\phi_{y^-}=\phi(x_0,y_0-\Delta y)
$$
Entonces tenemos
$$
\phi_0 \approx \frac14(\phi_{x^+}+\phi_{x^-}+\phi_{y^+}+\phi_{y^-})
$$
En otras palabras, podríamos calcular el potencial en un punto por el promedio de los potenciales de las vecinas cuatro puntos. Nosotros hacemos exactamente que, mediante la mejora de los valores a medida que se vaya.
Para nuestra matriz $M$, vamos a empezar con la primera cambiante punto en la esquina superior izquierda.
$$
\begin{align}
\phi_{2,3}
&=\frac14(\phi_{2,4}+\phi_{2,1}+\phi_{1,3}+\phi_{3,3})
\\&= 0.25\cdot(0.66 + 1 + 1 + 0.33)
\\&= 0.7475
\end{align}
$$
La nueva matriz
$$
M =
\begin{bmatrix}
\mathbf1 &\mathbf1 &\mathbf1 &\mathbf1 &\mathbf1 &\mathbf1 &\mathbf1\\
\mathbf1 & \mathbf1 & 0.7475 & 0.66 & 0.66 & \mathbf1 & \mathbf1\\
\mathbf1 & 0.66 & 0.33 & 0.33 & 0.33 & 0.66 & \mathbf1\\
\mathbf1 & 0.66 & 0.33 & \mathbf0 & 0.33 & 0.66 & \mathbf1\\
\mathbf1 & 0.66 & 0.33 & 0.33 & 0.33 & 0.66 & \mathbf1\\
\mathbf1 & \mathbf1 & 0.66 & 0.66 & 0.66 & \mathbf1 & \mathbf1\\
\mathbf1 &\mathbf1 &\mathbf1 &\mathbf1 &\mathbf1 &\mathbf1 &\mathbf1
\end{bmatrix}
$$
De hecho, si sabemos que vamos a estar utilizando una configuración simétrica, podemos hacer las cosas más eficientes mediante la actualización de todos los puntos que tienen el mismo resultado. Es decir, que podríamos actualización de $M$ para obtener
$$
M =
\begin{bmatrix}
\mathbf1 &\mathbf1 &\mathbf1 &\mathbf1 &\mathbf1 &\mathbf1 &\mathbf1\\
\mathbf1 & \mathbf1 & 0.7475 & 0.66 & 0.7475 & \mathbf1 & \mathbf1\\
\mathbf1 & 0.7475 & 0.33 & 0.33 & 0.33 & 0.7475 & \mathbf1\\
\mathbf1 & 0.66 & 0.33 & \mathbf0 & 0.33 & 0.66 & \mathbf1\\
\mathbf1 & 0.7475 & 0.33 & 0.33 & 0.33 & 0.7475 & \mathbf1\\
\mathbf1 & \mathbf1 & 0.7475 & 0.66 & 0.7475 & \mathbf1 & \mathbf1\\
\mathbf1 &\mathbf1 &\mathbf1 &\mathbf1 &\mathbf1 &\mathbf1 &\mathbf1
\end{bmatrix}
$$
Podríamos continuar con el siguiente punto
$$
\phi_{2,4}=0.25\cdot(0.7475+0.7475+1+0.33)= 0.5194
$$
Y actualización de la matriz en consecuencia
$$
M =
\begin{bmatrix}
\mathbf1 &\mathbf1 &\mathbf1 &\mathbf1 &\mathbf1 &\mathbf1 &\mathbf1\\
\mathbf1 & \mathbf1 & 0.7475 & 0.5194 & 0.7475 & \mathbf1 & \mathbf1\\
\mathbf1 & 0.7475 & 0.33 & 0.33 & 0.33 & 0.7475 & \mathbf1\\
\mathbf1 & 0.5194 & 0.33 & \mathbf0 & 0.33 & 0.5194 & \mathbf1\\
\mathbf1 & 0.7475 & 0.33 & 0.33 & 0.33 & 0.7475 & \mathbf1\\
\mathbf1 & \mathbf1 & 0.7475 & 0.5194 & 0.7475 & \mathbf1 & \mathbf1\\
\mathbf1 &\mathbf1 &\mathbf1 &\mathbf1 &\mathbf1 &\mathbf1 &\mathbf1
\end{bmatrix}
$$
Proceder de tal manera, hasta que cada valor cambiable se actualiza una vez (en este caso, que se llevará a $4$ pasos si usted toma ventaja de la simetría, $20$ si no hacen estas simplificaciones), a continuación, repita. Hacer esto lo suficiente, y, finalmente, las actualizaciones no cambia significativamente el valor. Cuando eso sucede, usted ha llegado a la final de la aproximación y puede detener el proceso. Ahora usted tiene una solución aproximada a la ecuación de Laplace, dadas las condiciones de contorno de su matriz.
Un método similar a este es el método de relajación, que es más rápido para sistemas con relativamente pocos píxeles y un poco más precisa.
EDITAR:
He encontrado esta derivación de la iteración del método (al parecer, también conocido como el método de diferencias finitas) si desea una justificación matemática para el proceso.