function ueb12
% M-File zur 2.Aufgabe des 12. Uebungsblattes
% Vorlesung "Asymptotische Analysis"
% M. Ehrhardt WS04/05

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),@ueb12Init);

% Bestimme Loesung mit bvp4c
sol = bvp4c(@ueb12DGL,@ueb12RB,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('12.Uebung');
legend('analytisch','numerisch');
xlabel('x');
ylabel('Loesung y');

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

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

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

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

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


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


