% erstellt einen 3D Oberflaechen Plot der Funktion z = f(x,y)

x=linspace(-5,5,50);
y=linspace(-5,5,50);

[xx,yy]=meshgrid(x,y);;

figure
subplot(2,2,1)
zz=-1./(xx.^2+yy.^2+1)-1./((xx-2).^2+(yy-2).^2+2);

surfc(xx,yy,zz)                                   % zeichnet einen 3D Oberflaechenplot mit Contourlinien in der Ebene z=0
shading faceted                                   % Schattiermodus, faceted ist voreingestellt, zeichnet schwarze Gitterlinien
view(50,10)

xlabel('x');
ylabel('y');
zlabel('z');
title('surfc(x,y,z), faceted','fontsize',16);

subplot(2,2,2)
zz=1./(cos(xx).^4+sin(yy).^4+1);
surfc(xx,yy,zz)                                   % zeichnet einen 3D Oberflaechenplot mit Contourlinien in der Ebene z=0  
shading interp                                    % kontinuierlicher Farbverlauf der Flaechen

xlabel('x');
ylabel('y');
zlabel('z');
title('surfc(x,y,z), interp','fontsize',16);


subplot(2,2,3)
zz=real(atan(xx+sqrt(-1)*yy));
surfc(xx,yy,zz);                                  % zeichnet einen 3D Oberflaechenplot mit Contourlinien in der Ebene z=0
shading flat                                      % jedes Segment hat eine einheitliche Farbe, keine Gitterlinien
xlabel('x');
ylabel('y');
zlabel('z');
title('surfc(x,y,z),flat','fontsize',16);
view(130,25);


subplot(2,2,4)
zz=1./(sin(xx)+2+abs(yy).*cos(yy).^2);           
h=surfc(xx,yy,zz);                                % zeichnet einen 3D Oberflaechenplot mit Contourlinien in der Ebene z=0
set(h,'edgecolor','b')                            % Gitterlinien und Contourlinien werden blau eingefärbt
xlabel('x');
ylabel('y');
zlabel('z');
title('surfc(x,y,z),''edgecolor'',''k''','fontsize',16);

