clc;clear;

N=input('Geben Sie N ( N>2) ein:');
ustar = [zeros(round(N/2),1); ones(N+1-round(N/2),1)];
v = ustar + 0.1*randn(N+1,1);

D=zeros(N+1);
%D= quadratische Nullmatrix mit N+1 Spalten.


%erzeuge gew�nschte Matrix:
n=1;
while n<=N;
    D(n,n)=2;
    D(n,n+1)=-1;
    D(n+1,n)=-1;
    n=n+1;
end

D(1,1)=1;
D(N+1,N+1)=1;


y=input('Geben Sie y (y>0) ein: ');
h=1/N;
I=eye(N+1);

u=(y/h^2*D+I)\v;

x = linspace(0,1,N+1);

plot(x,v,'g',x,u,'b',x,ustar,'r');

% y=0.012 (gutes ergebnis)

%f�r sehr gro�e werte f�r y n�hert sich u dem Mittelwert von v an.
%f�r sehr kleine Werte f�r y (->0) n�hert sich u immer mehr an v an.

% beim wert y=1000 000 000 000 ist u noch berechenbar, beim Wert 
%y=10 000 000 000 dagegen nicht mehr.
