grafica di base con matlab

8
1 Grafica in Matlab Grafici di funzione di una variabile Grafici di funzione di una variabile L’istruzione è plot(x,y) Apre una finestra grafica detta figure Disegna la spezzata che congiunge i punti (xi,yi) finestra grafica Esempio: grafico della funzione sinc Opzioni grafiche della funzione plot Colore e tratteggio della linea help plot per le possibili opzioni es. plot(x,y,’:m’);

Upload: elenapak

Post on 19-Nov-2015

215 views

Category:

Documents


2 download

DESCRIPTION

Lezioni di grafica di base con il software Matlab

TRANSCRIPT

  • 1

    Grafica in Matlab

    Grafici di funzione di una

    variabile

    Grafici di funzione di una variabile

    Listruzione plot(x,y)

    Apre una finestra grafica detta figure

    Disegna la spezzata che congiunge i punti (xi,yi)

    finestra grafica

    Esempio: grafico della funzione sinc

    Opzioni grafiche della funzione plot

    Colore e tratteggio della linea

    help plot per le possibili opzioni

    es. plot(x,y,:m);

  • 2

    Osservazione

    Ogni nuova istruzione plot, di default

    cancella il contenuto precedente della finestra e sovrascrive il nuovo contenuto

    E possibile

    riportare pi grafici in una stessa finestra tramite il comando hold on

    aprire pi finestre grafiche con listruzione figure

    Dividere una finestra in pi aree grafiche subplot

    Esempio: hold on

    >> x = linspace(1e-4,10*pi);

    >> y = sin(x)./x;

    >> plot(x,y);

    >> x1 = linspace(0,10*pi);

    >> y1 = sin(x1);

    >> hold on;

    >> plot(x1,y1);

    Per tornare al default: hold off

    Esempio: figure

    >> x = linspace(1e-4,10*pi);

    >> y = sin(x)./x;

    >> plot(x,y);

    >> x1 = linspace(0,10*pi);

    >> y1 = sin(x1);

    >> figure, plot(x1,y1);

    Esempio: subplot

    >> x = linspace(1e-4,10*pi);

    >> y = sin(x)./x;

    >> subplot(2,1,1); plot(x,y);

    >> x1 = linspace(0,10*pi);

    >> y1 = sin(x1);

    >> subplot(2,1,2); plot(x1,y1,':m');

  • 3

    Divide la finestra in n*m aree grafiche

    Le aree vengono numerate per

    colonne

    Listruzione plot successiva ad

    unistruzione suplot modifica la p-

    esima area.

    subplot(n,m,p)

    1

    4

    7

    2

    5

    8

    3

    6

    9

    Ulteriori opzioni grafiche

    Titolo del grafico title(stringa);

    Etichetta degli assi xlabel(stringa)

    ylabel(stringa)

    Legenda legend(stringa1,sringa2,...)

    Estremi dellintervallo di visualizzazione axis([xmin,xmax,ymin,ymax])

    Esempi

    >>x = linspace(1e-4,10*pi);

    >>y = sin(x)./x;

    >> plot(x,y);

    >> xlabel('x'); ylabel('y');

    >> title('Grafico della funzione sinc e della funzione seno');

    >> x1 = linspace(0,10*pi);

    >> y1 = sin(x1);

    >> hold on; plot(x1,y1,':m');

    >> legend('sinc(x)','sin(x)');

    >> axis([0,10*pi,-1,1]);

    Esercizi

    Creare il grafico delle seguenti

    funzioni

  • 4

    Ulteriori impostazioni

    Spessore della linea LineWidth

    Inserimento di linee o frecce

    Interprete linguaggio LaTex

    Possibilit di modificare i grafici

    usando linterfaccia grafica

    Salvataggio delle figure

    Menu file-> save as oppure export

    Alcuni formati disponibili

    .fig (formato grafici Matlab)

    .jpg

    .eps

    Grafici in diverse scale

    Quando i valori da rappresentare

    hanno una grande variabilit la

    scala lineare potrebbe non essere

    adeguata

    Esempio: scala lineare

    x = linspace(1e-4,20);

    y1 = 1./x;

    y2 = 1./x.^2;

    y3 = 1./x.^3;

    plot(x,y1); hold on;

    plot(x,y2,-r);

    plot(x,y3,-k);

    legend(1/x,1/x^2,1/x^3);

  • 5

    Esempio: scala logaritmica

    x = linspace(1e-4,20);

    y1 = 1./x;

    y2 = 1./x.^2;

    y3 = 1./x.^3;

    semilogy(x,y1); hold on;

    semilogy(x,y2,-r);

    semilogy(x,y3,-k);

    legend(1/x,1/x^2,1/x^3);

    semilogy pone lasse y in scala logaritmica semilogx pone lasse x in scala logaritmica

    loglog pone entrambi gli assi in scala logaritmica

    Grafica 3D

    Grafici di funzioni a 2 variabili

    Grafica 3D

    Grafici di curve nello spazio plot3

    Superfici mesh

    surf

    Linee di livello contour

    Curve in 3D: plot3

    >> t = linspace(0,10*pi);

    >> x = cos(t);

    >> y=sin(t);

    >> z = t;

    >> plot3(x,y,z);

  • 6

    Superfici: frafici di funzioni di 2 variabili

    Occorre fornire le ascisse e le ordinate dei punti del grafico

    meshgrid

    >> x = [ 1 2 3]; y=[ 4 5 6 7];

    >> [X,Y] = meshgrid(x,y)

    X =

    1 2 3

    1 2 3

    1 2 3

    1 2 3

    Y =

    4 4 4

    5 5 5

    6 6 6

    7 7 7

    Esempio: mesh

    >> x = linspace(-pi,pi);

    >> y = linspace(-pi/2,pi/2);

    >> [X,Y] = meshgrid(x,y);

    >> Z = sin(X.*Y);

    >> mesh(X,Y,Z);

    >> title('Grafico della funzione sin(xy)');

    Crea una griglia

    Esempio: surf

    Colora le parti di piano tra un 4 punti

    >> x = linspace(-pi,pi);

    >> y = linspace(-pi/2,pi/2);

    >> [X,Y] = meshgrid(x,y);

    >> Z = sin(X.*Y);

    >> surf(X,Y,Z);

    >> title(Superficie della funzione sin(xy)');

    Opzioni di grafica in 3D

    Punto di vista view

    Visualizzare e modificare la scala dei colori colorbar

    colormap

  • 7

    Modifica del punto di vista: view

    >>view(-60,15)

    Angolo Altezza

    [Default: -37.5, 30]

    Visualizzare la scala dei colori: colorbar

    >>colorbar;

    Cambiare la scala dei colori: colormap

    >> colormap(summer');

    >> colormap('autumn');

    >> colormap('winter');

    >> colormap('pink');

    mappe predefinite

    [Default: Jet]

    Curve di livello: contour

    >> contour(X,Y,Z); >> [c,h]=contour(X,Y,Z);

    >> clabel(c,h);

    Possibilit di specificare quali livelli riportare contour(X,Y,Z,v)

  • 8

    Istruzioni per la gestione delle immagini

    Lettura di immagine da file imread

    Visualizzazione di un immagine

    imshow

    Salvataggio di un immagine

    imwrite