%%
%% Listing 6.1 w książce "Obliczenia inżynierskie i naukowe", PWN 2011
%% (C) Piotr Krzyżanowski, 2011
%%
%% Możesz używać tego kodu zgodnie z licencją Creative Commons BY-SA, 
%% zob. http://creativecommons.org/licenses/by-sa/3.0/pl/
%%

disp('Wizualizacja funkcji 2D'); 

% definicja funkcji do zwizualizowania: skorzystamy z funkcji anonimowej;
% dzięki użyciu operatorów tablicowych, argumenty x,y mogą być macierzami
ff = @(x,y) abs(sin(x-1)).^((y+1).^2).*abs(cos((y+1))).^((x-1).^2); 

% utworzenie siatki na dziedzinie funkcji
x = linspace(-3,3,30);  % węzły na osi OX
y = linspace(-4,4,40);  % węzły na osi OY
[X,Y] = meshgrid(x,y);  % siatka na płaszczyźnie

% wyznaczenie wartości ff na siatce
Z = ff(X,Y);

% wizualizacja:

contour(X,Y,Z);		% poziomice
pause(5);

mesh(X,Y,Z);		% powierzchnia
pause(5);

surf(X,Y,Z);		% powierzchnia inaczej
pause(5);

imagesc(X,Y,Z);		% mapa
axis('xy','square');
pause(5);
