% poissondirichletdf1d.m % % Programita para resolver la ecuacion de Poisson % con condiciones de Dirichlet. % Metodo: Diferencias finitas % % - k u''(x) = f(x), 0 < x < L % u(0) = a, u(L) = b %% Parametros del problema L = 1; k = 1; a = 2; b = -3; f = @(x)( 100*exp(- 20*(x-L/3).^2 ) ); %% Parametros del metodo de resolucion N = 30; %% Armado de la matriz h = L/N; unos = ones(N+1,1); diagonales = [-1*unos 2*unos -1*unos]; matriz = spdiags(diagonales, [-1 0 1], N+1, N+1); matriz(1,[1:2]) = [1 0 ]; matriz(N+1,[N:N+1]) = [0 1]; %% Armado del lado derecho X = linspace(0,L,N+1)'; F = [a ; h^2/k*f(X(2:N)) ; b]; %% Resolucion % Resolvemos el sistema lineal U = matriz \ F; % Graficamos la solucion figure(1); plot(X,U,'*-')