ex5.m

% Loesung von Aufgabe 5

% keine grauen, sondern weisse Rahmen um Plots (generell)
set(0,'defaultfigurecolor','white');

% Berechnung der Integrale fuer die Koeffizienten
T = 1;                 % Schwingungsdauer
om = 2*pi/T;
l2 = 1;
N = 10;                % Zahl der Harmonischen
a1 = zeros(N+1, 1);    % Spaltenvektor mit den Koeffizienten
                       % Achtung: Zaehlung beginnt bei 0, in Matlab bei 1!
a2 = zeros(N+1, 1);

l1 = 0.4;
for I = 0:N
  f1 =  @(t) schubkurbel(t, om, l1, l2).*cos(I*om*t);
  a1(I+1) = 2/T*quad(f1, 0, T);
end

l1 = 0.99;
for I = 0:N
  f2 = @(t) schubkurbel(t, om, l1, l2).*cos(I*om*t);
  a2(I+1) = 2/T*quad(f2, 0, T);
end

% Ausgabe und Plot der Koeffizienten
a1
a2

n = (0:N)';
x = [n-0.1, n+0.1];
y = [a1, a2];


h = stem(x,y);
set(h(1),'MarkerFaceColor','blue')
set(h(2),'MarkerFaceColor','red','Marker','square')
xlabel('n','FontSize', 14);
ylabel('a_n','FontSize', 14);
title('Fourierkoeffizienten der Schubkurbelbewegung','FontSize', 16);
legend('\lambda = 0.4', '\lambda = 0.99');
axis([-0.3 10.5 -0.2 2]);

F = getframe(gcf);
imwrite(F.cdata, 'bild56.png');

% Ortskurven explizit bzw. als Summation der Harmonischen
t = 0:0.01:2;
l1 = 0.4;
x1 = schubkurbel(t, om, l1, l2);
a1(1) = a1(1)/2;
x1fourier = a1'*cos(om*n*t);   

plot(t, x1, t, x1fourier);
title('Schubkurbelbewegung, \lambda = 0.4','FontSize', 16);
xlabel('t','FontSize', 14);
ylabel('x(t)','FontSize', 14);

F = getframe(gcf);
imwrite(F.cdata, 'bild67.png');

l1 = 0.99;
x2 = schubkurbel(t, om, l1, l2);
a2(1) = a2(1)/2;
x2fourier = a2'*cos(om*[0:N]'*t);

plot(t, x2, t, x2fourier);
title('Schubkurbelbewegung, \lambda = 0.99','FontSize', 16);
xlabel('t','FontSize', 14);
ylabel('x(t)','FontSize', 14);

F = getframe(gcf);
imwrite(F.cdata, 'bild68.png');

% vergroesserter Ausschnitt
axis([1.2 1.8 0 0.16]);
F = getframe(gcf);
imwrite(F.cdata, 'bild69.png');