Sei sulla pagina 1di 26

Matlab

— –
Elementi Grafici
PLOT
• Matlab può produrre grafici 2D e 3D
• Il comando plot produce grafici in 2
dimensioni
• plot(x,y) apre una finestra e disegna il punto
(x,y)
• Se x e y sono vettori, plot(x,y) traccia il grafico
dei punti (xi,yi)
• Il comando shg apre una finestra grafica
Esempio
• Esempio:
• x=-4 : .01 ; 4;
• y = sin(x);
• plot(x,y);

• Significato: viene tracciato il grafico della


funzione sin nell’intervallo [-4, 4] con passo
0.01.
Esempio
Esempio
• Esempio: disegnare il grafico della funzione
y=e^(-x^2)
• x = -1.5 : .01 : 1.5
• y = exp(-x^2)
• plot(x, y)
Esempio
Grid
• Il comando grid disegna una griglia sul grafico
corrente
• t = 0 : .001 : 2*pi;
• x = cos(3*t);
• y = sin(2*t);
• plot(x,y)
• grid
Grid
Etichette sui Grafici
• title(‘testo da inserire’) titolo del grafico
• xlabel(‘…’) etichetta asse x
• ylabel(‘…’) etichetta asse y
• gtext(‘…’) testo mobile con il mouse
• text(x, y, ‘testo’) testo da posizionare nel punto
(x, y)
Fattore di Scala
• In generale l’unità di misura per le assi è
calcolata in maniera automatica
• Il comando axis([Xmin, Xmax, Ymin, Ymax])
assegna in maniera esplicita un intervallo e
quindi una scala per la rappresentazione dei
valori sull’asse X e Y
• axis(‘square’) assicura che il grafico sia
quadrato
Tracciamento multiplo
• x = 0 : .01 : 2*pi; y1=sin(x); y2=sin(2*x);
y3=sin(4*x);
• plot(x, y1, x, y2, x, y3)
Fattore di Scala
• In generale l’unità di misura per le assi è
calcolata in maniera automatica
• Il comando axis([Xmin, Xmax, Ymin, Ymax])
assegna in maniera esplicita un intervallo e
quindi una scala per la rappresentazione dei
valori sull’asse X e Y
• axis(‘square’) assicura che il grafico sia
quadrato
Tipi di Simboli
Fattore di Scala
• x = 0: .01 : 2*pi;
• y1 = sin(x);
• y2 = sin(4*x);
• plot (x, y1, ‘--’, x, y2, ‘+’)
Fattore di Scala
• x = -pi : .1 : pi;
• y = sin(x);
• plot(x, y, ‘bd’)
3D
Grafici a Barre
• bar(x, y, lar) o barh(x, y, lar) generano un
grafico a barre dei dati x, y con larghezza
specificata
• Esempio:
o t = 0:1:25;
o f=sqrt(t);
o bar(t,f);
Grafici a Barre
Esempio
• f1d = fopen('Temperature_1.dat', 'r');
• f2d = fopen('Temperature_2.dat', 'r');

Esempio
• temp1_w1 = (fscanf(f1d, '%d', 7))';
• temp1_w2 = (fscanf(f1d, '%d', 7))';
• temp1_w3 = (fscanf(f1d, '%d', 7))';
• temp1_w4 = (fscanf(f1d, '%d', 7))';
• temp2_w1 = (fscanf(f2d, '%d', 7))';
• temp2_w2 = (fscanf(f2d, '%d', 7))';
• temp2_w3 = (fscanf(f2d, '%d', 7))';
• temp2_w4 = (fscanf(f2d, '%d', 7))';

• fclose(f1d);
• fclose(f2d);
Esempio
• for i = 1:7
• if(temp1_w1(i)>temp2_w1(i))
• temp3w1_max(i)= temp1_w1(i);
• else
• temp3w1_max(i)= temp2_w1(i);
• end
• end
Esempio
• for i = 1:7
• if(temp1_w2(i)>temp2_w2(i))
• temp3w2_max(i)= temp1_w2(i);
• else
• temp3w2_max(i)= temp2_w2(i);
• end
• end
Esempio
• for i = 1:7
• if(temp1_w3(i)>temp2_w3(i))
• temp3w3_max(i)= temp1_w3(i);
• else
• temp3w3_max(i)= temp2_w3(i);
• end
• end
Esempio
• for i = 1:7
• if(temp1_w4(i)>temp2_w4(i))
• temp3w4_max(i)= temp1_w4(i);
• else
• temp3w4_max(i)= temp2_w4(i);
• end
• end
Esempio
• f3d = fopen('temperature_massime.dat', 'w');
• fprintf(f3d, '%d %d %d %d %d %d %d\n',
temp3w1_max');
• fprintf(f3d, '%d %d %d %d %d %d %d\n',
temp3w2_max');
• fprintf(f3d, '%d %d %d %d %d %d %d\n',
temp3w3_max');
• fprintf(f3d, '%d %d %d %d %d %d %d',
temp3w4_max');
• fclose(f3d);
• plot(temp3w1_max');
Esempio
• plot(temp3w1_max');
• bar(temp3w1_max');

Potrebbero piacerti anche