Diferencia entre revisiones de «ECUACION LOGÍSTICA»

De MateWiki
Saltar a: navegación, buscar
(. Apart 4)
(. Apart 4)
Línea 248: Línea 248:
 
<center><math> \frac{R^{n-2} (R-r)}{(R+r)^{n-1}} u(z)\leq u(x) \leq \frac{R^{n-2}  (R+r)}{(R-r)^{n-1}}u(z), \forall x \in B_{R}(z), r=||z-x||.</math></center>
 
<center><math> \frac{R^{n-2} (R-r)}{(R+r)^{n-1}} u(z)\leq u(x) \leq \frac{R^{n-2}  (R+r)}{(R-r)^{n-1}}u(z), \forall x \in B_{R}(z), r=||z-x||.</math></center>
  
Vamos a comenzar hallando el mínimo de la función <math> g(x,y) = xy </math> en la frontera de la bola <math> \partial B_R </math>. Si expresamos la función en la frontera en coordenadas polares tenemos <math> g(\theta)=R^{2}cos(\theta)sen(\theta)</math>, de modo que:
+
Vamos a comenzar hallando el mínimo de la función <math> g(x,y) = xy </math> en la frontera de la bola <math> \partial B_R </math>, al cual llamaremos <math>M</math>. Si expresamos la función en la frontera en coordenadas polares tenemos <math> g(\theta)=R^{2}cos(\theta)sen(\theta)</math>, de modo que:
  
<center><math> \min_{(x, y) \in B_R} \{g(x,y)\} = \min_{\theta \in [0,2\pi)} \{g(\theta)\} = \min_{\theta \in [0,2\pi)} \{R^2 cos(\theta)sen(\theta)\}= \min_{\theta \in [0,2\pi)} \{R^2 \frac{\sin(2\theta)}{2}\} =\frac{R^2}{2} \min_{\theta \in [0,2\pi)} \{\sin(2\theta)\}= - \frac{R^2}{2} .</math></center>
+
<center><math>M := \min_{(x, y) \in B_R} \{g(x,y)\} = \min_{\theta \in [0,2\pi)} \{g(\theta)\} = \min_{\theta \in [0,2\pi)} \{R^2 cos(\theta)sen(\theta)\}= \min_{\theta \in [0,2\pi)} \{R^2 \frac{\sin(2\theta)}{2}\} =\frac{R^2}{2} \min_{\theta \in [0,2\pi)} \{\sin(2\theta)\}= - \frac{R^2}{2} .</math></center>
  
  

Revisión del 17:38 18 abr 2024

Trabajo realizado por estudiantes
Título Ecuación de Laplace y de Poisson. Grupo ABMR
Asignatura EDP
Curso 2023-24
Autores Arturo Barrena y Mario Ríos
Este artículo ha sido escrito por estudiantes como parte de su evaluación en la asignatura


1 . Introducción

Las ecuaciones de Laplace y Poisson son fundamentales en el campo de la física matemática y la ingeniería, especialmente en el estudio de fenómenos de difusión, electrostática y flujo de calor. Ambas ecuaciones son ecuaciones diferenciales parciales (EDP) que describen el comportamiento de campos escalares en un dominio dado. La ecuación de Laplace representa un caso especial de la ecuación de Poisson, donde la función fuente es cero.

La ecuación de Laplace se expresa matemáticamente como: [math]\Delta u = \frac{\partial^2 u}{\partial x^2} + \frac{\partial^2 u}{\partial y^2} + \frac{\partial^2 u}{\partial z^2}= 0[/math]

Donde [math]\phi[/math] es el campo escalar y [math]\nabla^2[/math] es el operador Laplaciano.

Por otro lado, la ecuación de Poisson se formula como: [math]\Delta u = \frac{\partial^2 u}{\partial x^2} + \frac{\partial^2 u}{\partial y^2} + \frac{\partial^2 u}{\partial z^2}= f[/math]

Donde f es una función fuente que puede representar, por ejemplo, densidad de carga, densidad de masa o fuentes térmicas.

2 . Ej 4

En esta sección nos centraremos en el problema:

[math]\left \{ \begin{array}{ll} \Delta u=0, \vec{x}\in B_R,\\ u=g, \vec{x}\in \partial B_R, \\ \end{array} \right. [/math]

donde [math]B_R\subset \mathbb R^2[/math] es la bola de radio [math]R[/math] centrada en [math](0,0)[/math] y [math]g[/math] es una función cualquiera. En este caso nos enfocaremos en el caso [math]R=1[/math].

En primer lugar, compararemos su solución usando la fórmula de Poisson frente a su solución usando la serie de Fourier, pintando sus gráficas y viendo los errores que tienen al aproximar una solución exacta. Finalmente, usaremos la desigualdad de Harnack.

2.1 . Apart 1

Comenzamos con la solución dada por la fórmula de Poisson. La fórmula de Poisson nos dice que la solución a un problema de la forma anterior es:

[math] u(\vec{x})=\frac{R^2-||\vec{x}||^2}{2\pi R}\int_{\partial B_R}\frac{g(\sigma)}{||\vec{x}-\sigma||^2} d\sigma, [/math]

donde R es el radio de la bola donde se plantea el problema y [math] ||\vec{x}|| [/math] la distancia al centro de la bola.

Consideramos en coordenadas polares [math](r,\theta)[/math] la función [math]g(\theta)=\max \left\{0, 1 - \frac{2}{\pi} \left| \theta - \pi \right| \right\} [/math] que impone la condición frontera del problema. La fórmula de Poisson escrita de otra forma, dice que la solución del problema escrita en coordenadas polares es:

[math] U(r,\theta)=\frac{R^2-r^2}{2\pi R}\int_{0}^{2\pi}\frac{g(s)}{R^2+r^2-2Rrcos(\theta-s)} ds. [/math]

Por lo tanto, sustituyendo nuestra función [math]g[/math] en coordenadas polares en esta fórmula con [math]R=1[/math], podemos hallar la solución mediante la fórmula de Poisson. Para dibujarla, aproximaremos la integral mediante el método del trapecio.

Antes de dibujarla, destacaremos el problema que surge con esta fórmula a la hora de aproximar la solución en puntos de la frontera de la forma [math](R,\theta)[/math] con [math]\theta \in [0,2\pi)[/math]. Es fácil ver que para los puntos de esta forma, cuando el coseno de la integral se hace 1 (para ciertos valores de [math]s[/math] entre [math]0[/math] y [math]2\pi[/math]), el denominador se anula. Por lo tanto, la integral diverge. Esto provoca que si intentamos dibujar la gráfica sin tomar esto en cuenta, se llega a lo siguiente:

Solución estacionaria

Se puede observar claramente la irregularidad que se tiene en la frontera. Para corregir esto, simplemente basta con usar la fórmula de Poisson para estimar [math] U(r,\theta)[/math] en puntos [math](r,\theta)[/math] un poco alejados de la frontera e imponer la condición de la frontera dada por [math] g [/math] para los puntos de la frontera. Si hacemos esto (en nuestro caso tomando [math]r\in [0,0.9][/math] en la fórmula de Poisson), se tiene la siguiente gráfica:

pie de foto

En esta gráfica se puede ver cómo se ha corregido un poco la irregularidad en la frontera.

2.1.1 . Código

% Limpiar el espacio de trabajo y cerrar todas las figuras previas
clear all
close all

% Datos
R = 1;                                            % Radio del círculo
g = @(theta) max(0, 1 - 2/pi * abs(theta - pi));  % Condición inicial
numvalores_theta = 400;                            % Número de valores de el ángulo theta
numvalores_r = 400;                                % Número de valores de el radio r
numvalores_trapecio = 400;                         % Número de valores al discretizar para la fórmula del trapecio

% Función a integrar en la fórmula de Poisson
integrando = @(s, r, theta) g(s) ./ (R^2 + r^2 - 2 * R * r * cos(theta - s));

% Generación de puntos de evaluación
theta = linspace(0, 2*pi, numvalores_theta);        % Vector de valores de el ángulo theta
r = linspace(0, R-R/10, numvalores_r);              % Vector de valores de el radio r (sin llegar a la frontera) 
s = linspace(0, 2*pi, numvalores_trapecio);         % Discretización fórmula del trapecio

% Cálculo de la solución en función de r y theta con la fórmula de Poisson (sin calcularla 
% en los valores en los que r=R, la frontera)
U = zeros(length(r), length(theta)); % Inicialización de matriz de valores de la solución
for i = 1:length(r)-1 
    for j = 1:length(theta)
        % Integral numérica para calcular la solución en cada punto r(i),theta(j)
        U(i, j) = (R^2 - r(i)^2) / (2 * pi) * trapz(s, integrando(s, r(i), theta(j)));
    end
end

% Valores de la frontera puestos manualmente
for j = 1:length(theta)
    U(length(r),j)= g(theta(j));
end

% Gráficas
X = r' * cos(theta); % Coordenadas x tras deshacer polares
Y = r' * sin(theta); % Coordenadas y tras deshacer polares
surf(X, Y, U, 'EdgeColor', 'none'); % Gráfica de la solución en función de x e y
xlabel('x'); ylabel('y'); zlabel('u(x,y)'); % Etiquetas de ejes
legend('u(x,y)'); % Leyenda


2.2 . Apart 2

Tal y como hemos observado, la fórmula de Poisson tiene ciertos problemas al aproximar la solución en la frontera debido al carácter singular de la integral. Estos problemas se pueden estudiar con mayor precisión calculando el error que tiene al aproximar una solución exacta. Consideramos por ejemplo la función en coordenadas cartesianas [math]u(x,y)=xy[/math], la cual es armónica y su valor en la frontera es [math]g(x,y)=xy[/math]. Para usar la fórmula de Poisson, escribimos [math]u[/math] en coordenadas polares:

[math] \begin{cases} U(r,\theta)=r^2\cos(\theta)\sin(\theta)\\ U(1,\theta)=G(\theta)=\cos(\theta)\sin(\theta) \end{cases} [/math]

Si usamos de nuevo la fórmula de Poisson para calcular la solución aproximada haciendo uso de la fórmula del trapecio, podemos compararla con la solución exacta y obtener el error de aproximación que se tiene.

En primer lugar, vamos a observar el error de la fórmula en puntos "alejados" de la frontera. Para estudiar este error tomamos varias discretizaciones en la fórmula del trapecio y dibujamos los distintos errores en una gráfica. En este caso hemos dibujado en una gráfica la función:

[math]f(n):=\log_{10}(Error(n)), [/math]

donde [math]Error(n)[/math] es el error en un punto "alejado" de la frontera (en nuestro caso [math](r,\theta)=(0.9,\pi/4)[/math] es el que hemos escogido) cuando se toman [math]10^n[/math] puntos en la discretización de la fórmula del trapecio. Tal y como vimos visualmente en las gráficas anteriores, la fórmula en el punto escogido "alejado" de la frontera debería aproximar bien a la solución exacta y por lo tanto el error debería ir disminuyendo según aumenta el número de puntos en la discretización de la fórmula del trapecio (lo que hace a la fórmula del trapecio más exacta). La gráfica de esta función tiene la forma:

pie de foto

Justo como esperábamos, el error disminuye hasta cierto punto en el cual se estabiliza en el cual tiene un valor de alrededor de [math]10^{-15}[/math]. Con esto concluimos que la fórmula de Poisson aproxima bastante bien los puntos relativamente "alejados" de la frontera.

Ahora, veamos qué tal funciona la fórmula para puntos "cercanos" a a frontera. Para ello, vamos a estudiar el error en distintos puntos "cercanos" a la frontera con una discretización fija de la fórmula del trapecio y vamos a observar gráficamente cómo se comporta a medida que dichos puntos se acercan a la frontera. En este caso hemos dibujado en una gráfica el error en función de [math]n[/math] donde para cada [math]n[/math], [math]Error(n)[/math] es el error en el punto [math](r,\theta)=(1-10^{-n}, \pi/4)[/math] dado por la fórmula de Poisson con una discretización en la fórmula del trapecio de [math]100[/math] puntos. La gráfica queda de la siguiente forma:

pie de foto

En la gráfica se puede ver cómo el error aumenta a medida que los puntos se acercan a la frontera hasta llegar a cierto punto en el cual se estabiliza, manteniéndose constante igual a [math]0,5[/math].

2.2.1 .Código

% Limpiar el espacio de trabajo y cerrar todas las figuras previas
clear all
close all

% Datos
R = 1;                                            % Radio del círculo
g = @(theta) R^2*cos(theta).*sin(theta);          % Condición inicial
numdiscretizaciones_trapecio=8;                   % Número de discretizaciones al usar la fórmula del trapecio
r=0.9; theta=pi/4;                                % Punto particular en el que se quiere ver el error
sol=r^2*cos(theta)*sin(theta);                    % Solución exacta en dicho punto particular


% Función a integrar en la fórmula de Poisson
integrando = @(s, r, theta) g(s) ./ (R^2 + r^2 - 2 * R * r * cos(theta - s));

error=zeros(1,numdiscretizaciones_trapecio);
for n=1:numdiscretizaciones_trapecio
    numvalores_trapecio = 10^n;  % Número de valores en cada discretización para la fórmula del trapecio
    % Generación de puntos de evaluación
    s = linspace(0, 2*pi, numvalores_trapecio);         % Discretización para la fórmula del trapecio

    % Cálculo de la solución en el punto particular (r, theta) con la fórmula de Poisson
    u = (R^2 - r^2) / (2 * pi) * trapz(s, integrando(s, r, theta));
    
    error(n)=abs(u-sol);                % Error
end

% Gráficas
plot(1:numdiscretizaciones_trapecio,log10(error)); % Gráfica de los errores en función de n
xlabel('n'); ylabel('Log_{10}(Error)'); % Etiquetas de ejes
legend('Log_{10}(Error)'); % Leyenda

2.2.2 .Código

% Limpiar el espacio de trabajo y cerrar todas las figuras previas
clear all
close all

% Datos
R = 1;                                    % Radio del círculo
g = @(theta) R^2*cos(theta).*sin(theta);  % Condición inicial
numvalores_trapecio = 100;                % Número de valores al discretizar para la fórmula del trapecio
numpuntos_cercafrontera=100;              % Número de puntos cercanos a la frontera en los que se verá el error
theta=pi/4;                               % Valor de theta particular en el que se quiere ver el error


% Función a integrar en la fórmula de Poisson
integrando = @(s, r, theta) g(s) ./ (R^2 + r^2 - 2 * R * r * cos(theta - s));

% Generación de puntos de evaluación
s = linspace(0, 2*pi, numvalores_trapecio);         % Discretización fórmula del trapecio

error=zeros(1,numpuntos_cercafrontera);
for n=1:numpuntos_cercafrontera
    r=1-10^(-n);
    % Cálculo de la solución en el punto particular (r, theta) con la fórmula de Poisson
    u = (R^2 - r^2) / (2 * pi) * trapz(s, integrando(s, r, theta));
    
    error(n)=abs(u-r^2*cos(theta)*sin(theta));
end

% Gráficas
plot(1:numpuntos_cercafrontera,error); % Gráfica de los errores en función de n
xlabel('n'); ylabel('Error'); % Etiquetas de ejes
ylim([0,0.7])                   % Intervalo de valores en el eje y
legend('Error'); % Leyenda


3 . Apart 3

Una vez estudiado el problema que se tiene con la fórmula de Poisson para aproximar la solución cerca de la frontera, veamos qué ocurre con la solución obtenida por la serie de Fourier. Para ello, transformamos nuestro problema a coordenadas polares:

[math] \begin{cases} \Delta U=U_{rr}+\frac{1}{r}U_r+\frac{1}{r^2}U_{\theta\theta}=0, r\in(0,1),\theta\in[0,2\pi]\\ U(1,\theta)=G(\theta)=sin(\theta)cos(\theta), \theta\in[0,2\pi]. \end{cases} [/math]

Una vez transformado, empleamos el método de separación de variables, obteniendo así que:

[math] U(r,\theta)=\frac{a_0}{2}+\sum_{k=1}^\infty a_kr^kcos(k\theta)+b_kr^ksin(k\theta).[/math]

Finalmente, imponemos que se cumpla la condición frontera haciendo el desarrollo en serie de fourier de [math] G(\theta) [/math] en [math] L^2([-\pi,\pi]) [/math]:

[math] U(1,\theta)=G(\theta)=\frac{\alpha_0}{2}+\sum_{k=1}^\infty \alpha_k cos(k\theta)+\beta_k sin(k\theta).[/math]

de forma que:

[math] a_0=\alpha_0=\frac{1}{\pi}\int_{-\pi}^\pi G(\theta)d\theta. [/math]
[math] a_k=\alpha_k=\frac{1}{\pi}\int_{-\pi}^\pi G(\theta)cos(k\theta)d\theta. [/math]
[math] b_k=\beta_k=\frac{1}{\pi}\int_{-\pi}^\pi G(\theta)sin(k\theta)d\theta. [/math]

Pero los coeficientes de Fourier de [math]G(\theta)=\cos(\theta)\sin(\theta)=\frac{sin(2\theta)}{2}[/math] son claramente todos [math]0[/math] menos [math] \beta_2=\frac{1}{2}[/math], por tanto, la solución obtenida por la serie de Fourier es la siguiente:

[math]U(r,\theta)=\frac{r^2}{2}\sin(2\theta)=r^2\cos(\theta)\sin(\theta)[/math]

En este caso no hace falta ni siquiera estudiar los errores debido a que la solución obtenida por la serie de Fourier es la propia solución exacta. En efecto, pasando a cartesianas obtenemos que [math]u(x,y)=xy[/math]. Aun así se dejará a continuación una gráfica de dicha función:

pie de foto

3.1 .Código

clear all
close all
% Datos
R = 1;                                            % Radio del círculo
numvalores_theta = 300;                            % Número de valores de el ángulo theta
numvalores_r = 300;                                % Número de valores de el radio r

% Definición de la función
u=@(x,y) x.*y;

% Generación de puntos de evaluación
theta = linspace(0, 2*pi, numvalores_theta);        % Vector de valores de el ángulo theta
r = linspace(0, R, numvalores_r);                   % Vector de valores de el radio r
X = r' * cos(theta);                                % Coordenadas x tras deshacer polares
Y = r' * sin(theta);                                % Coordenadas y tras deshacer polares

% Gráfica
surf(X, Y, u(X,Y), "FaceColor", "interp",'EdgeColor', 'none')      % Gráfica
xlabel('x'); ylabel('y'); zlabel('u(x,y)')                          % Etiquetas de ejes
legend('Solución exacta');                                          % Leyenda


4 . Apart 4

En esta sección analizaremos qué dice la desigualdad de Harnack.

La desigualdad de Harnack establece lo siguiente: sea [math] u [/math] una función armónica tal que [math] u \geq 0 [/math] en un dominio [math]\Omega \subset \mathbb{R}^n[/math]. Suponemos [math]\overline{B_{R}(z)}\subset \Omega[/math]. Entonces:

[math] \frac{R^{n-2} (R-r)}{(R+r)^{n-1}} u(z)\leq u(x) \leq \frac{R^{n-2} (R+r)}{(R-r)^{n-1}}u(z), \forall x \in B_{R}(z), r=||z-x||.[/math]

Vamos a comenzar hallando el mínimo de la función [math] g(x,y) = xy [/math] en la frontera de la bola [math] \partial B_R [/math], al cual llamaremos [math]M[/math]. Si expresamos la función en la frontera en coordenadas polares tenemos [math] g(\theta)=R^{2}cos(\theta)sen(\theta)[/math], de modo que:

[math]M := \min_{(x, y) \in B_R} \{g(x,y)\} = \min_{\theta \in [0,2\pi)} \{g(\theta)\} = \min_{\theta \in [0,2\pi)} \{R^2 cos(\theta)sen(\theta)\}= \min_{\theta \in [0,2\pi)} \{R^2 \frac{\sin(2\theta)}{2}\} =\frac{R^2}{2} \min_{\theta \in [0,2\pi)} \{\sin(2\theta)\}= - \frac{R^2}{2} .[/math]


siendo [math] U(r,\theta)=\frac{r^2}{2R^2}sin(2\theta) [/math] la solución al problema en [math] B_R [/math], y definiendo la función v como [math] v=u -M[/math] y sustituyendo el valor del mínimo obtenido tenemos

[math] v = u -M = u + \frac{1}{2} [/math]
.

Sobre v aplicaremos la desigualdad de Harnack para [math] n=2 [/math]de forma que se tiene [math] \frac{R(R-r)}{(R+r)^{2}} v(0,0) \leq v(x) \leq \frac{R(R+r)}{(R-r)^{2}}v(0,0) [/math], para un radio R genérico. Teniendo en cuenta que el valor de la función [math] U(r, \theta) [/math] en (0,0) es 0 tendremos que [math] v(0,0)= \frac{1}{2} [/math] a continuación mostraremos las expresiones para los radios 1, 2 y 10:

[math] \frac{(1-r)}{2(1+r)} \leq v(x) \leq \frac{(1+r)}{2(1-r)} [/math]
con [math] r \in [0,1) [/math]
[math] \frac{(2-r)}{2(2+r)} \leq v(x) \leq \frac{(2+r)}{2(2-r)} [/math]
con [math] r \in [0,2) [/math]
[math] \frac{(10-r)}{2(10+r)} \leq v(x) \leq \frac{(10+r)}{2(10-r)} [/math]
con [math] r \in [0,10) [/math]

Por último representamos la región donde quedarán comprendidas estas funciones a partir de la expresión anterior.

Ahora mostramos la expresión que tendrán las desigualdades para funciones armónicas de dimensión 3:

[math] \frac{R(R-r)}{(R+r)^{2}} u(\vec{z})\leq u(\vec{x}) \leq \frac{R(R+r)}{(R-r)^{2}}u(\vec{z}), \forall \vec{x} \in B_{R}(z), r=||\vec{z}-\vec{x}||[/math]
.

4.1 .Código

5 . Ej 5

Se define la ecuación de Poisson mediante la siguiente expresión:

[math] \Delta u = f [/math]
donde [math]u:\mathbb{R}^n \rightarrow \mathbb{R}[/math] y [math] f \in C^2(\mathbb{R})[/math].

5.1 Solución fundamental del Laplaciano para dimensión 2 y 3.

Se define la solución fundamental del laplaciano a [math] \Phi(x): \mathbb{R}^n \rightarrow \mathbb{R}[/math] tal que:

[math] \Phi(x) = \begin{cases} -\frac{1}{2\pi} log(|x|) & \text{si n=2} \\ \frac{1}{4\pi |x| } & \text{si n=3} \end{cases}[/math]

5.2 El potencial logarítmico.

Una versión apropiada para resolver la ecuación de Poisson se cumple en dimensión \( n = 2 \), con el potencial newtoniano reemplazado por el potencial logarítmico:

[math] \int_{\mathbb{R}^2} \Phi(x-y) f(y) \, dy = - \frac{1}{2\pi} \int_{\mathbb{R}^2} \log|x-y| f(y) \, dy. [/math]

El potencial logarítmico no se anula en el infinito; su comportamiento asintótico es :

[math] u(x) = -\frac{M}{2\pi} \log|x| + O\left(\frac{1}{|x|}\right) [/math]

con respecto a [math]\mathbb{R}^3 \setminus B_{r} [/math] a medida que [math] |x| \rightarrow +\infty [/math].

Ahora aproximaremos la ecuación de Poisson utilizando la solución fundamental teniendo en cuenta que f es la función característica de la bola de radio 1. Dicha función tiene la siguiente expresión:

[math]f(x) = \begin{cases} 1, & \text{si } |x| \leq 1 \\ 0, & \text{si } |x| \gt 1 \end{cases}[/math]

Nótese en la expresión de u(x) la M corresponde a la siguiente expresión [math] M = \int_{\mathbb{R}^2} f(y) dy[/math], luego si hacemos esa integral podremos obtener de forma aproximada la solución de la ecuación de Poisson teniendo en cuenta que la f es la función mostrada anteriormente. De modo que tenemos:

[math] -\frac{1}{2\pi}\int_{\partial B_1 0} log|\mathbf{x} - \mathbf{y}| d\mathbf{y} = -\frac{1}{8}\int_{-1} ^1 \int_{-1} ^1 log|\mathbf{x} - \mathbf{y}| dx dy [/math]

5.3 .Código

right