function u = FDM_RB(f,p,q,r,a,b,N,alpha,beta)

u=zeros(N+2,1);

h=(b-a)/(N+1);
%Hier nehmen wir die Schrittweite h/2 auch noch mit rein!
t=linspace(a,b,2*(N+1)+1);

P=[p(t(2:2:end));p(t(end)+h/2)]; %Werte an den Zwischenstellen aus!
Q=[q(t(1:2:end));q(t(end)+h/2)];
R=[r(t(1:2:end));r(t(end)+h/2)];

A=spdiags([[-P(2:N)-(1/2)*h*Q(3:N+1);-P(N+1)-P(N+2);0] P(1:N+1)+P(2:N+2)+(h^2)*R(2:N+2) -P(1:N+1)+(1/2)*h*Q(1:N+1)],-1:1,N+1,N+1);

b=f(t(3:2:end));

b(1)=b(1)+(1/(h^2))*P(1)*alpha+(1/(2*h))*Q(2)*alpha;
b(N+1)=b(N)+(2/h)*P(N+2)*beta-Q(N+2)*beta;
    
u(2:N+2)=h^2*(A\b);

u(1) = alpha;