%Aufgabe 4 a
%

function SOR(fun,n,w) %funktion, stützstellen

[A,q,x] = heat(fun,n);

y = zeros(n,1); %startwert
tol = 10^-3; %toleranzwert
zeichnen = 5; %alle x mal wird der graph gezeichnet

D = diag(diag(A));
U = -triu(A,1);
L = -tril(A,-1);
DL = inv(1/w*D+L);
DLq = DL * q;
DLDU = DL * ((1/w-1)*D-U);

hold on;

yalt = sum(y) + 1;
i = 0;

while 10>tol;
 yalt = sum(abs(y));
 y = DLq + DLDU * y;
 if i == 0;
  plot(x,y);
  drawnow;
  i = zeichnen;
 end;
 i = i - 1;
end;

hold off;

title(fun);
xlabel('Quelle');
ylabel('Temperatur');
