Ecuacion de Laplace en Matlab

3

Click here to load reader

Transcript of Ecuacion de Laplace en Matlab

Page 1: Ecuacion de Laplace en Matlab

UNIVERSIDAD POLITECNICA SALESIANA

ECUACIÓN DE LAPLACE EN MATLAB

MATEMATICA AVANZADA

INTEGRANTES:

Toctaguano Ángel

Velásquez Lenin

Santiago Villacres

Berenice Arguero

Danilo Sigcha

Page 2: Ecuacion de Laplace en Matlab

Lo primero que vamos hacer es copiar la siguiente programación en matlab y guardamos con el nombre que sale el cual debe ser (dirich.m).

function U=dirich(f1,f2,f3,f4,a,b,h,tol,max1) %Datos % - f1,f2,f3,f4 son las funciones en el contorno almacenadas como cadenas de

caracteres % - a y b son los extremos superiores de los intervalos [0,a] y [0,b] % - h es el incremento % - tol es la tolerancia % resultado % - U es la matriz, análoga a la de la tabla 10.6, en la que se almacea la

solucion numerica % Inicializacion de los parametros y de U n=fix(a/h) +1; m=fix(b/h) +1; ave=(a*(feval(f1,0)+feval(f2,0))... +b*(feval(f3,0)+feval(f4,0)))/(2*a+2*b); U=ave*ones(n,m); %COndiciones de contorno U(1,1:m)=feval(f3,0:h:(m-1)*h)'; U(n,1:m)=feval(f4,0:h:(m-1)*h)'; U(1:n,1)=feval(f1,0:h:(n-1)*h); U(1:n,m)=feval(f2,0:h:(n-1)*h); U(1,1)=(U(1,2)+U(2,1))/2; U(1,m)=(U(1,m-1)+U(n,2))/2; U(n,1)=(U(n-1,1)+U(n,2))/2; U(n,m)=(U(n-1,m)+U(n,m-1))/2; % Parametro de sobrerrelajacion w=4/(2+sqrt(4-(cos(pi/(n-1))+cos(pi/(m-1)))^2)); err=1; cnt=0; while((err>tol)&&(cnt<=max1)) err=0; for j=2:m-1 for i=2:n-1 relx=w*(U(i,j+1)+U(i,j-1)+U(i+1,j)+U(i-1,j)... -4*U(i,j))/4; U(i,j)=U(i,j)+relx; if (err<=abs(relx)) err=abs(relx); end end end cnt=cnt+1; end U=flipud(U');

Page 3: Ecuacion de Laplace en Matlab

El siguiente paso es crear las condiciones de frontera para ello creamos 4 archivos en la misma carpeta donde guardamos dirich.m pero ahora vamos a guardar como (f1.m; f2.m; f3.m; f4.m) todos en archivos diferentes son estas nuestras condiciones de frontera a continuación vamos a ver la programación que le dimos.

Para f1

%Condicion de frontera en y=0 function ux0=f1(x) ux0=10;

Para f2

%Condicion de frontera en y=1.5 function ux3=f2(x) ux3=90;

Para f3

%Condicion de frontera en x=0 function u0y=f3(y) u0y=70;

Para f4

%Condicion de frontera en x=1.5 function u3y=f4(y) u3y=0;

Nota: si hay dudas pueden ver el video que esta en este mismo blog gracias.