% Numerik �bungsblatt 1
% Beispiel 3

clc;clear;

N=input('Eingabe von N:');
my=input('Eingabe von my:');

ustar =[zeros(round(N/2),1);ones(N+1-round(N/2),1)];    %Definiere ustar und v
v = ustar + 0.1*randn(N+1,1);

%% Initialisiere und definiere die Matrix D

D=zeros(N+1,N,1);
for i=1:N
    D(i,i)=2;
    D(i+1,i)=-1;
    D(i,i+1)=-1;
end
D(1,1)=1;
D(N+1,N+1)=1;

%% Berechne u durch L�sen eines linearen Gleichungssystems
h=1/N;
A=(my/h^2)*D + eye(N+1);
u=A\v;                  

clf;
%% Graphische Darstellung

x=linspace(0,1,N+1);
hold on;
plot(x,ustar,'r');
plot(x,v,'b');           
plot(x,u,'k');
legend('u*','v','u');
title('Graphische Darstellung');

% F�r N=10 liegt das gr��te my bei 10000000000000000, eine Null dazu ->
% Ergebnis f�r u NaN
% Gute Approximation an u* f�r my=0.01
% my=0 -> u=v
% gro�es my -> u Mittelwert von v