%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%                            Michael Pokojovy                             % 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
[X, Y] = meshgrid(-2:0.1:2);

figure(1);

set(gcf, 'PaperUnits', 'centimeters');
xSize = 18; 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;
t = title('Die Funktion $(x, y) \mapsto (x + y)^2 e^{(x + y)^{2}}$ auf dem Dreieck $D := \{(x, y) \,|\, x, y \geq 0, x + y \leq 1\}$', 'interpreter', 'latex');
set(t, 'FontSize', 16);

N = 20;

x = linspace(0, 1, N);
y = linspace(0, 1, N);

X = zeros(N, N);
Y = zeros(N, N);
Z = zeros(N, N);

for i = 1:N
for j = 1:N
    X(i, j) = x(i);
    Y(i, j) = y(j)*(1 - x(i));
    Z(i, j) = (X(i, j) + Y(i, j))^2*exp((X(i, j) + Y(i, j))^2);
end
end

grid on;
colormap gray;

surf(X, Y,  Z);
view([14 38]);

plot3([0 1], [0 0], [0 0]);
plot3([1 0], [0 1], [0 0]);
plot3([0 0], [1 0], [0 0]);

xlabel('x');
ylabel('y');
zlabel('z');
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%