Diferencia entre revisiones de «Borrador1»
(→Ejemplo) |
(→Ejemplo) |
||
| (No se muestran 2 ediciones intermedias del mismo usuario) | |||
| Línea 78: | Línea 78: | ||
<center><math> u(x)=-\frac{M}{2\pi} log |x| + O(\frac{1}{|x|})</math></center> | <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> | <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.