% Wichtig:
% *******************************************
% Dieses Skript muss nicht abgeändert werden!
% *******************************************
% Nur die Funktion RWA_func muss ausgebessert werden.

%% Section 0 - Reinitialisierung

close all; clear; clc;

% Bemerkung:
% Sections helfen, ein Skript besser zu strukturieren und nach und nach auszuführen.
% Editor -> Run: Das ganze Skript wird ausgeführt
% Editor -> Run Section: Die zuletzt angeklickte Section wird ausgeführt
% Übrigens: Mit Sections funktioniert das Debuggen genau gleich wie ohne.

%% Section 1 - Lösungsapproximation für n = 8

n = 8;

f_handle = @(x) pi ^ 2 * sin(pi * x);
[x_RWA, u_RWA] = RWA_func(n, f_handle);
x_sol = linspace(0, 1, n + 1);
u_sol = sin(pi * x_sol);

% Wenn die rote und die blaue Linie übereinstimmen, sollte das Programm korrekt sein!

figure(1)
plot(x_sol, u_sol, "x-", x_RWA, u_RWA, "o-")
title("n=" + n)
legend("Exakte Lösung", "Approximation")
xlabel("Stützstellen x_i")
ylabel("u(x)")

%% Section 2 - Lösungsapproximation für n = 20

n = 20;

f_handle = @(x) pi ^ 2 * sin(pi * x);
[x_RWA, u_RWA] = RWA_func(n, f_handle);
x_sol = linspace(0, 1, n + 1);
u_sol = sin(pi * x_sol);

% Wenn die rote und die blaue Linie übereinstimmen, sollte das Programm korrekt sein!

figure(2)
plot(x_sol, u_sol, "x-", x_RWA, u_RWA, "o-")
title("n=" + n)
legend("Exakte Lösung", "Approximation")
xlabel("Stützstellen x_i")
ylabel("u(x)")
