// Esercitazione 2 (da eseguire con exec(...,7))
//
// Argomenti:
//  (1) come definire una funzione (function, commenti, operatori con
//      punto prefisso, estensioni sci e sce);
//  (2) come disegnare il grafico di una funzione di una variabile (plot,
//      linspace, xgrid, xtitle, xlabel, ylabel);
//  (3) come cancellare il contenuto della finestra grafica (clf);
//  (4) come disegnare il grafico di una funzione di una variabile in scala
//      isometrica (plot2d, frameflag=4);
//  (5) come disegnare il grafico di due funzioni sullo stesso piano cartesiano.
//
// Esempio:
//
function y = SqrtAbs(x)
    //
    // x, y: matrici ad elementi reali di uguale dimensione.
    //
    // y(i,j) = sqrt(abs(1 - x(i,j)^2)).
    //
    y = sqrt(abs(1 - x.^2));
endfunction
//
A = [1,0,2;-1,0,-2]
SqrtAbs(A)
//
x = linspace(-1.5,1.5,301);
plot(x,SqrtAbs(x))
xgrid()
xtitle('Grafico della funzione SqrtAbs')
xlabel('x')
ylabel('SqrtAbs(x)')
clf();plot(x,SqrtAbs(x),'r--'); xgrid();
clf();plot2d(x,SqrtAbs(x),frameflag=4);xgrid();
xtitle('Grafico della funzione SqrtAbs in scala isometrica')
xlabel('x')
ylabel('SqrtAbs(x)')
clf();plot2d(x,SqrtAbs(x),style=5);xgrid();
colore=getcolor()
clf();plot2d(x,SqrtAbs(x),style=colore);xgrid();
x = linspace(-5,5,601)';
clf();plot2d(x,[SqrtAbs(x),abs(x)],frameflag=4);xgrid();
xlabel('x'); legend('SqrtAbs(x)','|x|');
//
// Fine esempio.
//
// Esercizio:
//
// (A) Definire una function di intestazione function y = TaylorCos(x)
//     che, per x matrice, restituisce una matrice y, delle stesse dimensioni di
//     x, di componente i,j:
//
//           y(i,j) = 1 - (1/2) x(i,j)^2 + (1/24) x(i,j)^4
//
//     (parte iniziale dello sviluppo di Taylor di cos(x) in zero) e calcolare
//     TaylorCos([0, 1; 2, 3]).
//
// (B) Utilizzare il comando plot per disegnare il grafico di TaylorCos
//     sull'intervallo [-3,3], completo delle etichette opportune.
//
// (C) Utilizzare il comando plot per sovrapporre al grafico generato nel punto
//     precedente, quello della funzione cos(x), avendo cura di disegnare le
//     due curve in colore diverso.
//
// (D) Utilizzare il comando plot2d per disegnare i due grafici in scala
//     isometrica. Inserire nel disegno le etichette opportune.
