function bsp21
% M-File zur Loesung des Einfuehrungsbeispiels 2.1
% Vorlesung "Asymptotische Analysis" WS 09/10
% Bergische Universitaet Wuppertal
% M. Ehrhardt

close all
clear all

global epsilon
epsilon=1e-2

L=1; % x-Intervall 0<x<L

% Anfangsloesung mit bvpinit
solinit = bvpinit(linspace(0,L,10),@bsp21Init);

% Bestimme Loesung mit bvp4c
sol = bvp4c(@bsp21DGL,@bsp21RB,solinit);

x= linspace(0,L); % aequidistantes Gitter
x= [0 logspace(0,2,100)/10^2]; % Logarithmisches Gitter
Sx = deval(sol,x);

% analytische Loesung
rp = (-1+sqrt(1-2*epsilon))/epsilon;
rm = (-1-sqrt(1-2*epsilon))/epsilon;
truey = (exp(rp*x)-exp(rm*x))./(exp(rp)-exp(rm));

plot(x,truey,x,Sx(1,:),'ro')
%axis([0 L -1 1.1])
title('Beispiel 2.1');
legend('analytisch','numerisch');
xlabel('x');
ylabel('Loesung y');

% ------------------------------------------------------------

function dydx = bsp21DGL(x,y)
global epsilon
dydx = [  y(2)
          -2/epsilon*y(2)-2/epsilon*y(1) ];

% ------------------------------------------------------------

function res = bsp21RB(ya,yb)
res = [  ya(1) 
         yb(1) - 1];

% ------------------------------------------------------------
function yinit = bsp21Init(x)
% 1-Term Appproximation als Start
yinit = [  exp(1-x)
         -exp(1-x)];


%function yinit = bsp21Init(x)
% konstant 1 als Start
%yinit = [  1
%   0];


