![Page 1: Introduzione a Matlab - gualandi/metodi/IntroMatLab.pdf · Esercizio 1 Calcolore il punto stazionario della funzione: f(x,y) = x 2–y Determinare se il punto stazionario è un minimo](https://reader031.vdocuments.pub/reader031/viewer/2022021715/5c6e5a9b09d3f246468c84bf/html5/thumbnails/1.jpg)
Introduzione a MatlabMetodi Numerici
![Page 2: Introduzione a Matlab - gualandi/metodi/IntroMatLab.pdf · Esercizio 1 Calcolore il punto stazionario della funzione: f(x,y) = x 2–y Determinare se il punto stazionario è un minimo](https://reader031.vdocuments.pub/reader031/viewer/2022021715/5c6e5a9b09d3f246468c84bf/html5/thumbnails/2.jpg)
1. Tipi di variabili
• Numeri:>> a = 1; (senza il “;” stampa l’assegnamento a video)
>> b = 3 + 4i; (numero complesso)
• Valori logici:>> a = true (true viene valutato come 1)
>> b = false (true viene valutato come 0)
• Vettori (1-D array):>> v1 = [1, -1, 2] (vettore “riga”)
>> v2 = [1; -1; 2] (vettore colonna”)
• Matrici (2-D array):>> A = [[1, -1]; [2,3]]; (matrice quadrata)
>> B = [[1,2,3]; [-1,2,-3]]; (matrice rettangolare)
![Page 3: Introduzione a Matlab - gualandi/metodi/IntroMatLab.pdf · Esercizio 1 Calcolore il punto stazionario della funzione: f(x,y) = x 2–y Determinare se il punto stazionario è un minimo](https://reader031.vdocuments.pub/reader031/viewer/2022021715/5c6e5a9b09d3f246468c84bf/html5/thumbnails/3.jpg)
2.1 Operatori
• Su scalari:>> a = 7; b = 3;
>> ((a + b)*a/b-3)^3;
• Su vettori:>> v1 = [1, -1, 2]’ (vettore trasporto)
>> 2+v1; 2*v1; v1/2
>> v1 * v1 (cosa dice il messaggio di errore?)
>> v1*v1’ (il risultato è uno scalare o un vettore?)
>> v1’*v1 (il risultato è uno scalare o un vettore?)
>> v1^2 (cosa dice il messaggio di errore?)
>> v1.^2 (operatore applicato per componente)
![Page 4: Introduzione a Matlab - gualandi/metodi/IntroMatLab.pdf · Esercizio 1 Calcolore il punto stazionario della funzione: f(x,y) = x 2–y Determinare se il punto stazionario è un minimo](https://reader031.vdocuments.pub/reader031/viewer/2022021715/5c6e5a9b09d3f246468c84bf/html5/thumbnails/4.jpg)
2.2 Operatori
• Su matrici:>> A = [[1, -1]; [2,3]];
>> At = A’
>> 2+A; 3*A;
>> v1 = [2,-1]; v1*A
>> A*v1’
>> B = [[2,3,1];[-1,1,-1]]
>> B*A
>> A*B
>> B’*A
>> A+v1
![Page 5: Introduzione a Matlab - gualandi/metodi/IntroMatLab.pdf · Esercizio 1 Calcolore il punto stazionario della funzione: f(x,y) = x 2–y Determinare se il punto stazionario è un minimo](https://reader031.vdocuments.pub/reader031/viewer/2022021715/5c6e5a9b09d3f246468c84bf/html5/thumbnails/5.jpg)
3.1 Funzioni
• Su scalari:>> a=16; b = sqrt(a)
>> a=pi; b = sin(a)
>> a=10; b = log(exp(10))
• Su vettori:>> v1 = [2, -1]
>> sqrt(v1)
>> sin(v1)
>> exp(sin(v1))
>> v2 = zeros(10,1)
>> v2 = ones(1,10)
>> sum(v1)
>> prod(v1)
![Page 6: Introduzione a Matlab - gualandi/metodi/IntroMatLab.pdf · Esercizio 1 Calcolore il punto stazionario della funzione: f(x,y) = x 2–y Determinare se il punto stazionario è un minimo](https://reader031.vdocuments.pub/reader031/viewer/2022021715/5c6e5a9b09d3f246468c84bf/html5/thumbnails/6.jpg)
3.2 Funzioni
• Su matrici:>> A = [[1, 4]; [16, 25]];
>> sqrt(A)
>> sin(A)
>> exp(sin(A))
>> B = zeros(10)
>> C = ones(5,10)
>> inv(A) (matrice inversa)
>> det(A) (determinante)
>> trace(A) (traccia)
>> eig(A) (autovalori)
>> (trace(A) == sum(eig(A))) (vedi slides intro)
>> (det(A) == prod(eig(A))) (vedi slides intro)
![Page 7: Introduzione a Matlab - gualandi/metodi/IntroMatLab.pdf · Esercizio 1 Calcolore il punto stazionario della funzione: f(x,y) = x 2–y Determinare se il punto stazionario è un minimo](https://reader031.vdocuments.pub/reader031/viewer/2022021715/5c6e5a9b09d3f246468c84bf/html5/thumbnails/7.jpg)
Esercizio 1
Calcolore il punto stazionario della funzione:
f(x,y) = x2 – y2
Determinare se il punto stazionario è un minimo relativo, un massimorelative, o un punto di sella. Usare la funzione eig() per trovare gliautovalori dell’Hessiana di f(x,y) nel punto stazionario trovato.
Tracciare un grafico qualitativo di f(x,y) e delle sue curve di livello.
![Page 8: Introduzione a Matlab - gualandi/metodi/IntroMatLab.pdf · Esercizio 1 Calcolore il punto stazionario della funzione: f(x,y) = x 2–y Determinare se il punto stazionario è un minimo](https://reader031.vdocuments.pub/reader031/viewer/2022021715/5c6e5a9b09d3f246468c84bf/html5/thumbnails/8.jpg)
4. Definizione di Funzioni
• Anonymous functions>> cubo = (@)(x) x^3
>> cubo(2)
>> cubo(cubo(2))
>> cubo(2*ones(3,3)) (cosa si ottiene?)
>> cubo = (@)(x) x.^3
>> cubo(2*ones(3,3)) (cosa si ottiene?)
>> f = @(x,y) x.^2 + y.^2;
>> c = f(2,1);
• Script .m file: DEMO
![Page 9: Introduzione a Matlab - gualandi/metodi/IntroMatLab.pdf · Esercizio 1 Calcolore il punto stazionario della funzione: f(x,y) = x 2–y Determinare se il punto stazionario è un minimo](https://reader031.vdocuments.pub/reader031/viewer/2022021715/5c6e5a9b09d3f246468c84bf/html5/thumbnails/9.jpg)
5. Plots
• Plot in 2-D:>> f = @(x) 2*sin(x);
>> X = [-2*pi:0.1:2*pi]
>> Y = f(X)
>> plot(X,Y)
• Plot in 3-D:>> [X, Y]= meshgrid(-3:0.2:3, -3:0.2:3);
>> Z = (X.^2+3*Y.^2).*exp(1-X.^2-Y.^2);
>> figure;
>> surf(X,Y,Z);
>> colorbar;
>> figure;
>> contour(X,Y,Z);
![Page 10: Introduzione a Matlab - gualandi/metodi/IntroMatLab.pdf · Esercizio 1 Calcolore il punto stazionario della funzione: f(x,y) = x 2–y Determinare se il punto stazionario è un minimo](https://reader031.vdocuments.pub/reader031/viewer/2022021715/5c6e5a9b09d3f246468c84bf/html5/thumbnails/10.jpg)
Esercizio 1
Calcolore il punto stazionario della funzione:
f(x,y) = x2 – y2
Determinare se il punto stazionario è un minimo relativo, un massimorelative, o un punto di sella.
Tracciare un grafico qualitativo di f(x,y) e delle sue curve di livello.
![Page 11: Introduzione a Matlab - gualandi/metodi/IntroMatLab.pdf · Esercizio 1 Calcolore il punto stazionario della funzione: f(x,y) = x 2–y Determinare se il punto stazionario è un minimo](https://reader031.vdocuments.pub/reader031/viewer/2022021715/5c6e5a9b09d3f246468c84bf/html5/thumbnails/11.jpg)
Esercizio 2
Tracciare il grafico e il grafico delle curve di livello delle seguenti funzioni e commentare eventuali punti stazionari (vedi slides intro):
![Page 12: Introduzione a Matlab - gualandi/metodi/IntroMatLab.pdf · Esercizio 1 Calcolore il punto stazionario della funzione: f(x,y) = x 2–y Determinare se il punto stazionario è un minimo](https://reader031.vdocuments.pub/reader031/viewer/2022021715/5c6e5a9b09d3f246468c84bf/html5/thumbnails/12.jpg)
Esercizio 3 (tipico da esame)
![Page 13: Introduzione a Matlab - gualandi/metodi/IntroMatLab.pdf · Esercizio 1 Calcolore il punto stazionario della funzione: f(x,y) = x 2–y Determinare se il punto stazionario è un minimo](https://reader031.vdocuments.pub/reader031/viewer/2022021715/5c6e5a9b09d3f246468c84bf/html5/thumbnails/13.jpg)
Esercizio 4
Verificare se i due scripts seguenti terminano come ci si aspetta: