%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%                            Michael Pokojovy                             % 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
figure(1);

set(gcf, 'PaperUnits', 'centimeters');
xSize = 25; ySize = 10;
xLeft = (21 - xSize)/2; yTop = (30 - ySize)/2;
set(gcf,'PaperPosition', [xLeft yTop xSize ySize]);
set(gcf,'Position',[0 0 xSize*50 ySize*50]);

hold on;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
[X, Y] = meshgrid(-1.5:0.2:2.0);

subplot(1, 2, 1);
hold on;
t = title('a) Funktion $f_{1}(x_{1}, x_{2}) = 100 (x_{2} - x_{1})^{2} + (1 - x_{1})^{2}$', 'interpreter', 'latex');
set(t, 'FontSize', 16);
Z = 100*(Y - X.^2).^2 + (1 - X).^2;
mesh(X, Y, Z);
plot3(1, 1, 50, 'r.', 'MarkerSize', 20);
text(1, 1, 500, 'Globales Minimum', 'interpreter', 'latex', 'color', 'black', 'FontSize', 20);
view([125, 56]);

xlabel('x_{1}');
ylabel('x_{2}');
zlabel('f_{1}(x_{1}, x_{2})');
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
[X, Y] = meshgrid(-5:0.1:-3, 2:0.1:4);

subplot(1, 2, 2);
hold on;
t = title('b) Funktion $f_{2}(x_{1}, x_{2}) = 8 x_{1} + 12 x_{2} + x_{1}^{2} - 2 x_{2}^{2}$', 'interpreter', 'latex');
set(t, 'FontSize', 16);
Z = 8*X + 12*Y + X.^2 - 2*Y.^2;
mesh(X, Y, Z);
plot3(-4, 3, 2.1, 'r.', 'MarkerSize', 20);
t = text(-4, 3, 2.5, 'Sattelpunkt', 'interpreter', 'latex', 'color', 'black');
set(t, 'FontSize', 20);
view([125, 56]);

xlabel('x_{1}');
ylabel('x_{2}');
zlabel('f_{2}(x_{1}, x_{2})');
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%