% Musterlösungen für Übungsblatt 1

% Aufg 2a
a2a=linspace(0,1,20);

% 2b
a2b=11:2:33;

% 2c
% absteigende Werte erfordern eine negative Schrittweite
a2c=uint8(40:-2:20);

% 2d
% elementweise Anwendung des Potenzoperators
a2d=2.^(1:40);

% 2e
% elementweise Multiplikation
a2e=(1:100).*(0:99);

% 2f
% Mit Vektor der geraden Indizes können die entsprechenden Elemente auf
% 0 gesetzt werden.
a2f=1:100; a2f(2:2:100)=0;

% 2g
% elementweise Anwendung einer Funktion
a2g=sin(linspace(-pi,pi,100));
disp(a2g(end-4:end));

% 2h
% Skalarprodukt mit dot(u,v)
u=[2 3 1]'; v=[3 0 4]';
a2h=acos(dot(u,v)/(norm(u)*norm(v)))*180/pi;

% Aufg 3
% ein Vektor von Spaltenvektoren ergibt eine Matrix
% Der Rang (rank) dieser Matrix macht Aussagen über die lineare
% (un-)abhängigkeit
u=[2 3 1]'; v=[3 0 4]'; w=[-1 3 7]';
a3=rank([u v w]);

% Aufg 4
A=[0 4 3; 1 7 5; 0 3 7];
b=[8;14;6];
x=A\b; r=rank(A); k=null(A);

% Aufg 5
% Simple numerische Integration: Bestimme n Funktionswerte auf dem gegebenen 
% Intervall (hier: pi). Jedem Funktionswert y(i) wird
% ein Rechteck der Breite h = pi/n zugeordnet, das die Fläche
% h*y(i) hat. Diese werden aufsummiert:
y=sin(linspace(0,pi,100));
a5a=sum(y)*pi/length(y);
y=sin(linspace(0,pi,500));
a5b=sum(y)*pi/length(y);
y=sin(linspace(0,pi,1000));
a5c=sum(y)*pi/length(y);

% Aufg 6
% eps('typ') ist die minimale Differenz zwischen zwei Werten dieses Typs.
x=0:eps('single'):1;
a6=1+1/eps('single');
