% Inserire la griglia dei valori per
% le variabili x e y
% Fare i grafici delle funzioni:
% f(x,y)=x^2+y^2
% f(x,y)=sin(x^2)+cos(y^2)
% f(x,y)=(x^3+5)/(y^2+1)
% f(x,y)=(exp(x^2))/(2+cos(pi*y)
% Intestare opportunamente le figure

% DOMANDA ALL'INIZIO 
% N=input('quante funzione vuoi plottare')
% ciclo for da 1 a N

estremi=input('Inserisci gli estremi per la variabile x (in un vettore): ') ;
xmin=estremi(1) ;
xmax=estremi(2) ;
estremi=input('Inserisci gli estremi per la variabile y (in un vettore): ') ;
ymin=estremi(1) ;
ymax=estremi(2) ;
[x,y]=meshgrid(xmin:0.05:xmax,ymin:0.05:ymax) ;

f=menu('Funzione da plottare','x^2+y^2','sin(x^2)+cos(x^2)','(x^3+5)/(y^2+1)','(exp(x^2))/(2+cos(pi*y)') ;

if f==1
    z=x.^2+y.^2 ;
elseif f==2
    z=sin(x.^2)+cos(y.^2) ;
elseif f==3
    z=(x.^3+5)./(y.^2+1) ;
else
    z=(exp(x.^2))./(2+cos(pi*y)) ;
end

figure
surf(x,y,z)
title(['Funzione n. ', num2str(f)])


% Disegnare le curve di livello per le funzioni date
% indicando le quote scelte
% contour(x,y,f,[...])
q=input('Inserire i valori corrispondenti alle quote delle curve di livello ') ;
figure
contour(x,y,z,q)

risp=input('Vuoi continuare con un''altra funzione?(S/N) ' ,'s') ;
if risp=='S'
    curve_livello_16dic2016
else
    disp('Finito!')
end