%% Dieses Skript lässt sich auch wieder auf 
%% http://octave-online.net ausführen, allerdings nur Aufgabe 
%% für Aufgabe (denn es gibt ein TimeOut!):

% 1. Gehen Sie auf die Seite  http://octave-online.net/
% 2. "Dismissen" Sie die Kommentar-Fenster (kein "Sign in" nötig)
% 3. "Copy&Pasten" Sie den Text dieser Datei in die Kommandozeile
%    am unteren Ende der Seite (päckchenweise)
% 4. Drücken Sie jeweils "Enter" und warten Sie die Ergebnisse ab


%%%% Päckchen 1: Vorbereitungen.... (Fehlermeldungen ignorieren)
clear;

syms x %x ist eine "symbolische" Variable
v1 = 1;
v2 = sqrt(3)*(2*x -1);
v3 = sqrt(5)*(6*x^2 -6*x + 1);
f = x^2;

%%%% Päckchen 2: Aufgabe 1: Umwandeln von f in ein 3-Tupel
lambda1 = int(v1*f, 0, 1); %Integral von v1*f von 0 bis 1
lambda2 = int(v2*f, 0, 1);
lambda3 = int(v3*f, 0 ,1);

v=[lambda1;lambda2;lambda3]


%%%% Päckchen 3: Aufgabe 2: Ableitung als 3x3-Matrix

M11=int(v1*diff(v1,x), 0, 1); % diff(v1,x) ist Ableitung von v1 nach x
M12=int(v1*diff(v2,x), 0, 1);
M13=int(v1*diff(v3,x), 0, 1);
M21=int(v2*diff(v1,x), 0, 1);
M22=int(v2*diff(v2,x), 0, 1);
M23=int(v2*diff(v3,x), 0, 1);
M31=int(v3*diff(v1,x), 0, 1);
M32=int(v3*diff(v2,x), 0, 1);
M33=int(v3*diff(v3,x), 0, 1);

M=[[M11, M12, M13];[M21, M22, M23];[M31, M32, M33]]


%%%%% Päckchen 4: Aufgabe 3: Integral als Matrix

N11=int(v1*int(v1,x), 0, 1); % int(v1) Integral von v1 (ohne Konstante)
N12=int(v1*int(v2,x), 0, 1);
N13=int(v1*int(v3,x), 0, 1);
N21=int(v2*int(v1,x), 0, 1);
N22=int(v2*int(v2,x), 0, 1);
N23=int(v2*int(v3,x), 0, 1);
N31=int(v3*int(v1,x), 0, 1);
N32=int(v3*int(v2,x), 0, 1);
N33=int(v3*int(v3,x), 0, 1);

N=[[N11, N12, N13];[N21, N22, N23];[N31, N32, N33]]

%%% Päckchen 5: Funktion aus Aufgabe 1 integrieren.... (Matrix-Vektor-Multiplikation)
F = N*[lambda1;lambda2;lambda3]
integral=F'*[v1; v2; v3] %Ausrechnen was F als Polynom bedeutet

%%% Päckchen 6: Graph der approximierten Integralfunktion ausgeben
ezplot(integral,[0,1]); hold on; % approximiertes Integral
ezplot(int(f), [0,1]); % wahres Integral

