1 MATLAB-SIMULINK Grafici 2D e 3D Ing. Alessandro Pisano pisano@diee.unica.it Bergamo, 17-19/11/2009
2 Indice 3 7 10 10 11 12 13 14 16 17 22 24 28 34 36 39 44 Grafici 2D Griglia, label e titolo Grafici sovrapposti. Colori Legenda Assi coordinati Tipi di linea Simboli Curve parametriche in 2D Grafici multipli Plottools Formattazione avanzata delle label e della figura Grafici avanzati Risoluzione di equazioni per via grafica Handles e proprietà Grafici 3D Curve parametriche in 3D
3 Creazione di grafici Grafici 2D Affrontiamo come passo preliminare il problema della visualizzazione del grafico 2D di una funzione scalare in un intervallo di interesse [a,b]. x x a b y f, a x 1 x2 b xn N suff. grande
4
5
Il grafico generato di default è spoglio e privo di etichette. 6
7 Grafico spigoloso : pochi punti (N troppo piccolo)
8
Variabile dipendente y=f(x) 9 Grafico della funzione y=f(x) con 1000 punti interpolati 2 1.5 1 0.5 0-0.5-1 -1.5-2 0 5 10 15 Variabile indipendente x
Colore arbitrario: 10
Variabile dipendente y=f(x) 11 2 1.5 Grafici della funzione y=f(x) 51 punti interpolati 1000 punti interpolati 1 0.5 0-0.5-1 -1.5-2 0 2 4 6 8 10 12 14 Variabile indipendente x
Variabile dipendente y=f(x) 12 Range degli assi coordinati Modifica dei range degli assi coordinati 3 2 Grafici della funzione y=f(x) 51 punti interpolati 1000 punti interpolati 1 0-1 -2-3 0 1 2 3 4 5 6 Variabile indipendente x
13 Tipo di linea Tipi di linea disponibili
14 Simboli disponibili Sintassi compatta per colore, tipo di linea e simbolo
15 1 1 1 0.5 0.5 0.5 0 0 0-0.5-0.5-0.5-1 0 2 4 6 8-1 0 2 4 6 8-1 0 2 4 6 8
16 Grafici di curve parametriche La procedura di tracciamento di curve parametriche è analoga a quanto visto per i grafici di funzioni scalari di una variabile. Si devono generare i punti (x,y) della curva ed una volta fatto ciò è possibile impiegare il comando standard plot. Il seguente codice di esempio grafica nel piano la circonferenza centrata nel punto 4 (1,1) e avente raggio pari a 2 3 2 1 0-1 -2-2 -1 0 1 2 3 4
17 Creazione di grafici multipli 1 2 3 4 5 6
18 Esempio 1 2 1 2 1 2 3 4
19
20
21
22
Inoltre, dopo avere abilitato la EditFigure nel menu Tools (v. Figura) si può, cliccare sopra la figura con il tasto destro del mouse, accedendo a tutta una serie di proprietà ulteriori. 23
24 Formattazione avanzata delle Label Il seguente codice di esempio costruisce il grafico di una curva gaussiana con i valori di media e varianza specificati nelle variabili med e var. Il codice mostra come visualizzare il valore numerico delle variabili med e var all interno di una stringa. 1.5 Curva gaussiana con media=2 e varianza=5 1 0.5 0-8 -6-4 -2 0 2 4 6 8 10
25 Lettere greche Per l inserimento di lettere greche in una Label si possono utilizzare direttamente i seguenti identificatori Lettere minuscole Lettere maiuscole Es. title('angolo \psi - Varianza \Sigma','FontSize',16);
26 Per inserire in una label delle formule matematiche più complesse, ad esempio l espressione analitica della funzione Gaussiana, si sfrutta la compatibilità dimatlab con le istruzioni del programma grafico (open source) LaTex 2e Una buona guida in italiano può essere reperita sul web all indirizzo: http://www.ctan.org/tex-archive/info/lshort/italian/itlshort.pdf Si veda in particolare il Capitolo 3 Scrivere formule matematiche 1.5 1 0.5 0-8 -6-4 -2 0 2 4 6 8 10
Frecce e caselle di testo 27
Grafici avanzati 28
29 Scale logaritmiche x=1:1000; y=1./x; subplot(2,2,1), plot(x,y) subplot(2,2,1), plot(x,y,'r') subplot(2,2,2), semilogx(x,y,'m') subplot(2,2,3), semilogy(x,y,'b') subplot(2,2,4), loglog(x,y,'g')
30 FILL (X,Y,RGB) Il poligono definito dai vettori X e Y viene riempito del colore specificato dal vettore RGB (gli elementi di RGB sono 0 x 1) x=[1:5,4:-1:2]; y=rand(1,length(x)); RGB=[1, 0.5, 0.4]; fill(x,y,rgb) Grafici generati in due run successivi
Slow Decay 31 Fast Decay 200 0.8 150 0.6 100 0.4 50 0.2 0 0-50 -0.2-100 -0.4-150 -0.6-200 0 2 4 6 8 10 12 14 16 18 20-0.8
32 1 0.8 0.6 0.4 0.2 0-0.2-0.4-0.6-0.8-1 -8-6 -4-2 0 2 4 6 8
33 1 0.8 0.6 0.4 0.2 0-0.2-0.4-0.6-0.8-1 0 1 2 3 4 5 6 7
34 Risoluzione di equazioni per via grafica Modellando un processo chimico di distillazione si ottiene la seguente relazione in cui L rappresenta la quantità di liquido (in moli) che resta nel distillatore, ed x è la frazione di benzene nel residuo. La variabile x assume valori nell intervallo [0, 0.6]. Si desidera individuare il valore della frazione residua x in corrispondenza del quale restano nel distillatore L= 70 moli di liquido
35 x=[0:0.001:0.6]; L=100*(x/0.6).^(0.625).*((1-x)/0.4).^(-1.625); figure(1) plot(l,x),grid,xlabel('l [mol])'),ylabel('x mol B/mol') figure(2) plot(x,l),grid,xlabel('x'),ylabel('l ') Soluzione x 0.52
Handles 36
37 Proprietà della figura etc etc
38 Esempio Il seguente comando ad esempio modifica il vettore associato alle ordinate dei punti del grafico, e riesegue il plot.
Grafici 3D 39
40
41
42
43
44 Curve parametriche in 3D 35 30 25 20 15 10 5 0 1 0.5 1 0-0.5-0.5 0 0.5-1 -1