Diferencia entre revisiones de «Borrador1»
(→Ecuación de Poisson en R2) |
(→Ejemplo) |
||
| (No se muestran 22 ediciones intermedias del mismo usuario) | |||
| Línea 1: | Línea 1: | ||
| − | == Ecuación de Poisson | + | == Ecuación de Poisson == |
En esta parte del documento se va a proceder a resolver la ecuación de Poisson mediante un nuevo método. En primer lugar, esta ecuación viene dada por <math> \Delta u = f </math> siendo <math>u:\mathbb{R}^n \rightarrow \mathbb{R}</math>y <math> f \in C^2(\mathbb{R})</math>. Para este estudio se particularizará para n=2 y n=3. | En esta parte del documento se va a proceder a resolver la ecuación de Poisson mediante un nuevo método. En primer lugar, esta ecuación viene dada por <math> \Delta u = f </math> siendo <math>u:\mathbb{R}^n \rightarrow \mathbb{R}</math>y <math> f \in C^2(\mathbb{R})</math>. Para este estudio se particularizará para n=2 y n=3. | ||
| − | + | Se comenzará definiendo la solución fundamental de esta ecuación, pues se utilizará posteriormente para calcular el potencial newtoniano o logarítimico. Esta viene dada por <math> \phi(x) = -\frac{1}{2\pi} log(|x|) </math> si n=2 y <math> \phi(x) = \frac{1}{4\pi |x| } </math> si n=3. | |
| − | + | === Potencial newtoniano para <math> \mathbb{R}^3</math> === | |
| + | Supongamos que <math> f(x) </math> | ||
| + | representa la densidad de una carga contenida en un conjunto compacto dentro del espacio tridimensional <math> \mathbb{R}^3</math>. | ||
| + | Entonces, la expresión <math> \phi(x-y)f(y)dy</math> denota el potencial en el punto x. De esta manera el potencial total viene dado por la siguiente expresión: | ||
| + | <center><math> u(\mathbf{x}) = \int_{\mathbb{R}^n} f(\mathbf{y}) \phi(\mathbf{x} - \mathbf{y}) d\mathbf{y} </math></center> | ||
| + | Esta fórmula se conoce como potencial Newtoniano de f y se aplica sobre funciones que en el infinito tienden de manera rápida a cero. | ||
| + | A su vez, sea <math>f \in C^2(\mathbb{R}^3)</math> con soporte compacto. Sea <math>u</math> el potencial newtoniano de <math>f</math>, definido por el potencial Newtoniano. Entonces, <math>u</math> es la única solución en <math>\mathbb{R}^3</math> de <math>\Delta u = -f</math> que pertenece a <math>C^2(\mathbb{R}^3)</math> y se anula en el infinito. Es decir, dado: | ||
| + | <center><math> \begin{cases} | ||
| + | \Delta u = -f \\ | ||
| + | u(x) \rightarrow 0 & \text{si } |x| \rightarrow \infty | ||
| + | \end{cases}</math></center> | ||
| + | su solución viene dada por el potencial newtoniano que se presenta anteriormente. | ||
| + | === Potencial logarítmico para <math> \mathbb{R}^2</math> === | ||
| + | Si el problema se presenta en <math> \mathbb{R}^2</math> el potencial newtoniano se sustituye por el potencial logarítimico: | ||
| + | <center><math> u(\mathbf{x}) = -\frac{1}{2\pi}\int_{\mathbb{R}^2} log|\mathbf{x} - \mathbf{y}|f(\mathbf{y}) d\mathbf{y} </math></center> | ||
| + | De esta manera, Sea <math>f \in C^2(\mathbb{R}^2)</math> con soporte compacto, <math>u(\mathbf{x})</math> es la única solución en <math>\mathbb{R}^2</math> de: | ||
| + | <center><math> \begin{cases} | ||
| + | \Delta u = -f \\ | ||
| + | u(x)=-\frac{M}{2\pi} log |x| + O\left(\frac{1}{|x|} \right) & \text{si } |x| \rightarrow \infty | ||
| + | \end{cases}</math></center> | ||
| + | donde <center><math> M= \int _{\mathbb{R}^2} f(\mathbf y) d\mathbf y</math></center>. | ||
| + | === Ejemplo === | ||
| + | A continuación, veremos un ejemplo de lo explicado anteriormente para una correcta comprensión de ello. De esta manera, mediante el potencial logarítmico se aproximará la ecuación de Poisson cuando f sea la función característica de la bola de radio 1 y se estudiará su comportamiento en el infinito. | ||
| + | |||
| + | Para resolver este ejemplo se ha realizado un código en Matlab. La integral se ha simplificado de la siguiente manera: | ||
| + | <center><math> -\frac{1}{2\pi}\int_{\partial B_1 0} log|\mathbf{x} - \mathbf{y}| d\mathbf{y} = -\frac{\pi}{4}\frac{1}{2\pi}\int_{-1} ^1 \int_{-1} ^1 log|\mathbf{x} - \mathbf{y}| dx dy </math></center> | ||
| + | {{matlab|codigo= | ||
| + | %aSe divide el dominio de cada variable en 200 puntos. Para y1 e y2 se coge | ||
| + | %el intervalo [-1,1] pues cuando este fuera de este intervalo la función vale 0 y por tanto la integral se anulará y para x1 y x2 se coge un intervalo muy grande pues la función tiene dominio todo R2. | ||
| + | i1 = linspace(-1,1,200); | ||
| + | i2 = linspace(-1,1,200); | ||
| + | i3 = linspace(-10^4,10^4,200); | ||
| + | i4 = linspace(-10^4,10^4,200); | ||
| − | + | % Se define la función f anteriormente obtenida | |
| + | f = @(y1, y2, x1, x2) -(pi/4)*(1/(2*pi))*log(sqrt((y1-x1).^2 + (y2-x2).^2)); | ||
| + | % Generamos una malla de puntos | ||
| + | [A, B] = meshgrid(i1, i2); | ||
| + | [C, D] = meshgrid(i3,i4); | ||
| − | + | %Creamos una matriz cero donde se irán metiendo los valores que | |
| + | %próximamente evaluaremos | ||
| + | values = zeros(size(A)); | ||
| + | |||
| + | % Se crea el siguiente bucle para obtener los valores que necesitamos para | ||
| + | % la representación gráfica | ||
| + | for i = 1:length(i1) | ||
| + | for j = 1:length(i2) | ||
| + | fnum = @(x, y) f(x, y, i3(i), i4(j)); % Se crea este bucle para ir evaluando f en los distintos puntos (x1,x2) | ||
| + | values(i, j) = trapz(i2, trapz(i1, fnum(A, B), 2)); % Evaluar fnum en la malla (A, B) y calcular la integral por el método del trapecio | ||
| + | end | ||
| + | end | ||
| + | |||
| + | % Se dibujan todos los puntos obtenidos | ||
| + | surf(C,D,values) | ||
| + | }} | ||
| + | |||
| + | La representación obtenida es la siguiente: | ||
| + | |||
| + | [[Archivo: Unoaitana.jpg|400px|thumb|center|Representación de la solución ]] | ||
| + | |||
| + | |||
| + | A continuación se va a comprobar si la solución se comporta de la manera esperada en el infinito. Tal y como se ha especificado anteriormente el comportamiento asintótico sigue la siguiente función: | ||
| + | |||
| + | <center><math> u(x)=-\frac{M}{2\pi} log |x| + O(\frac{1}{|x|})</math></center> | ||
| + | |||
| + | siendo | ||
| + | |||
| + | <center><math> M= \int _{\mathbb{R}^2} f(\mathbf y) d\mathbf y</math></center> | ||
| + | |||
| + | |||
| + | A continuación, se compara esta función con la solución obtenida anteriormente con el fin de observar si se comporta adecuadamente. Se ha creado el siguiente código: | ||
| + | |||
| + | {{matlab|codigo= | ||
| + | graf=zeros(length(i1)); | ||
| + | xgraf=zeros(length(i1)); | ||
| + | for i = 1:length(i1) | ||
| + | fnum = @(x, y) f(x, y, i3(i), i4(i)); | ||
| + | |||
| + | graf(i) = trapz(i2, trapz(i1, fnum(A,B), 2)); | ||
| + | xgraf(i)=sqrt(2*(i3(i)^2)); | ||
| + | end | ||
| + | |||
| + | |||
| + | hold on | ||
| + | hol= @(x) -1/2*log(x); | ||
| + | valy = hol(xgraf); | ||
| + | % Crear el gráfico de las líneas y los puntos | ||
| + | hold on | ||
| + | plot(xgraf, valy, '-','DisplayName','Función asintótica'); | ||
| + | plot(xgraf, graf, '*','DisplayName','Función obtenida'); | ||
| + | xlabel('Eje x') | ||
| + | ylabel('Eje y') | ||
| + | title('Gráfico función asintótica y función obtenida') | ||
| + | }} | ||
| + | |||
| + | Se ha obtenido la siguiente gráfica, siendo la verde la función obtenida y la azul la función asintótica: | ||
| + | [[Archivo: Dosaitana.jpg|400px|thumb|center|Representación de la solución ]] | ||
| + | |||
| + | Tal y como se ve, se observa que el comportamiento es el esperado. | ||
Revisión actual del 14:29 19 abr 2024
Contenido
1 Ecuación de Poisson
En esta parte del documento se va a proceder a resolver la ecuación de Poisson mediante un nuevo método. En primer lugar, esta ecuación viene dada por [math] \Delta u = f [/math] siendo [math]u:\mathbb{R}^n \rightarrow \mathbb{R}[/math]y [math] f \in C^2(\mathbb{R})[/math]. Para este estudio se particularizará para n=2 y n=3.
Se comenzará definiendo la solución fundamental de esta ecuación, pues se utilizará posteriormente para calcular el potencial newtoniano o logarítimico. Esta viene dada por [math] \phi(x) = -\frac{1}{2\pi} log(|x|) [/math] si n=2 y [math] \phi(x) = \frac{1}{4\pi |x| } [/math] si n=3.
1.1 Potencial newtoniano para [math] \mathbb{R}^3[/math]
Supongamos que [math] f(x) [/math] representa la densidad de una carga contenida en un conjunto compacto dentro del espacio tridimensional [math] \mathbb{R}^3[/math].
Entonces, la expresión [math] \phi(x-y)f(y)dy[/math] denota el potencial en el punto x. De esta manera el potencial total viene dado por la siguiente expresión:
Esta fórmula se conoce como potencial Newtoniano de f y se aplica sobre funciones que en el infinito tienden de manera rápida a cero.
A su vez, sea [math]f \in C^2(\mathbb{R}^3)[/math] con soporte compacto. Sea [math]u[/math] el potencial newtoniano de [math]f[/math], definido por el potencial Newtoniano. Entonces, [math]u[/math] es la única solución en [math]\mathbb{R}^3[/math] de [math]\Delta u = -f[/math] que pertenece a [math]C^2(\mathbb{R}^3)[/math] y se anula en el infinito. Es decir, dado:
su solución viene dada por el potencial newtoniano que se presenta anteriormente.
1.2 Potencial logarítmico para [math] \mathbb{R}^2[/math]
Si el problema se presenta en [math] \mathbb{R}^2[/math] el potencial newtoniano se sustituye por el potencial logarítimico:
De esta manera, Sea [math]f \in C^2(\mathbb{R}^2)[/math] con soporte compacto, [math]u(\mathbf{x})[/math] es la única solución en [math]\mathbb{R}^2[/math] de:
1.3 Ejemplo
A continuación, veremos un ejemplo de lo explicado anteriormente para una correcta comprensión de ello. De esta manera, mediante el potencial logarítmico se aproximará la ecuación de Poisson cuando f sea la función característica de la bola de radio 1 y se estudiará su comportamiento en el infinito.
Para resolver este ejemplo se ha realizado un código en Matlab. La integral se ha simplificado de la siguiente manera:
%aSe divide el dominio de cada variable en 200 puntos. Para y1 e y2 se coge
%el intervalo [-1,1] pues cuando este fuera de este intervalo la función vale 0 y por tanto la integral se anulará y para x1 y x2 se coge un intervalo muy grande pues la función tiene dominio todo R2.
i1 = linspace(-1,1,200);
i2 = linspace(-1,1,200);
i3 = linspace(-10^4,10^4,200);
i4 = linspace(-10^4,10^4,200);
% Se define la función f anteriormente obtenida
f = @(y1, y2, x1, x2) -(pi/4)*(1/(2*pi))*log(sqrt((y1-x1).^2 + (y2-x2).^2));
% Generamos una malla de puntos
[A, B] = meshgrid(i1, i2);
[C, D] = meshgrid(i3,i4);
%Creamos una matriz cero donde se irán metiendo los valores que
%próximamente evaluaremos
values = zeros(size(A));
% Se crea el siguiente bucle para obtener los valores que necesitamos para
% la representación gráfica
for i = 1:length(i1)
for j = 1:length(i2)
fnum = @(x, y) f(x, y, i3(i), i4(j)); % Se crea este bucle para ir evaluando f en los distintos puntos (x1,x2)
values(i, j) = trapz(i2, trapz(i1, fnum(A, B), 2)); % Evaluar fnum en la malla (A, B) y calcular la integral por el método del trapecio
end
end
% Se dibujan todos los puntos obtenidos
surf(C,D,values)
La representación obtenida es la siguiente:
A continuación se va a comprobar si la solución se comporta de la manera esperada en el infinito. Tal y como se ha especificado anteriormente el comportamiento asintótico sigue la siguiente función:
siendo
A continuación, se compara esta función con la solución obtenida anteriormente con el fin de observar si se comporta adecuadamente. Se ha creado el siguiente código:
graf=zeros(length(i1));
xgraf=zeros(length(i1));
for i = 1:length(i1)
fnum = @(x, y) f(x, y, i3(i), i4(i));
graf(i) = trapz(i2, trapz(i1, fnum(A,B), 2));
xgraf(i)=sqrt(2*(i3(i)^2));
end
hold on
hol= @(x) -1/2*log(x);
valy = hol(xgraf);
% Crear el gráfico de las líneas y los puntos
hold on
plot(xgraf, valy, '-','DisplayName','Función asintótica');
plot(xgraf, graf, '*','DisplayName','Función obtenida');
xlabel('Eje x')
ylabel('Eje y')
title('Gráfico función asintótica y función obtenida')
Se ha obtenido la siguiente gráfica, siendo la verde la función obtenida y la azul la función asintótica:
Tal y como se ve, se observa que el comportamiento es el esperado.