% 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(- (x-L/3).^2 ) ); %% Parametros del metodo de resolucion N = 10; %% h = L/N; %% Armado de la matriz unos = ones(N,1); diagonales = [-1*unos 2*unos -1*unos]; matriz = spdiags(diagonales, [-1 0 1], N-1, N-1); %% Armado del lado derecho X = [h:h:L-h]'; % x2 hasta xN F = h^2/k*f(X); F(1) = F(1) + a; F(N-1) = F(N-1) + b; %% Resolucion % Primero resolvemos para los puntos interiores (i=1:N) U = matriz \ F; % Ahroa agregamos los valores en los extremos para graficar X = [0 ; X ; L]; U = [a ; U ; b]; figure(1) plot(X,U,'*-') return pause figure(1) x = linspace(0,L,5*N); u = -25*x.^2+50/3*x.^3+(1-50/3+25)*x+2; plot(X,U,'*',x,u)