introduzione a matlab - docente.unicas.it · introduzione a matlab 24/10/2012 matlab e’ integrato...

39
Introduzione a Matlab Ing. Gianfranco Miele ([email protected]) www.docente.unicas.it/gianfranco_miele October 24, 2012

Upload: dinhlien

Post on 16-Feb-2019

236 views

Category:

Documents


0 download

TRANSCRIPT

Introduzione a Matlab

Ing. Gianfranco Miele ([email protected])

www.docente.unicas.it/gianfranco_miele

October 24, 2012

Corso di Laurea Magistrale in Ingegneria delle Telecomunicazioni

Misure elettroniche per le telecomunicazioni

Università degli Studi di

Cassino e del Lazio

Meridionale

24/10/2012 Introduzione a Matlab

MAT(rix) LAB(oratory)

Originariamente MATLAB è stato sviluppato come ambiente interattivo, di facile uso, per il calcolo matriciale tecnico e scientifico ad alto livello.

Nel tempo MATLAB è stato completato con l’aggiunta di funzioni che permettono complesse simulazioni ed analisi numeriche, e l’interfacciamento con prototipi.

Attualmente MATLAB è utilizzato anche come:

1.calcolatrice elettronica evoluta;

2.ambiente grafico bi- e tri-dimensionale;

3.linguaggio di programmazione.

Corso di Laurea Magistrale in Ingegneria delle Telecomunicazioni

Misure elettroniche per le telecomunicazioni

Università degli Studi di

Cassino e del Lazio

Meridionale

Introduzione

24/10/2012 Introduzione a Matlab

L'elemento di base in MATLAB è l’array: dato

di tipo matriciale (scalare, vettore, matrice a due

o più dimensioni)

È noto che le operazioni eseguite sulle matrici si

applicano anche agli scalari ed ai vettori dal momento

che anche uno scalare si può vedere come una

particolare matrice di dimensioni 1×1 e che un vettore è

una particolare matrice di dimensioni n×1 (se è un

vettore-colonna) o 1×n (se è un vettore-riga).

Corso di Laurea Magistrale in Ingegneria delle Telecomunicazioni

Misure elettroniche per le telecomunicazioni

Università degli Studi di

Cassino e del Lazio

Meridionale

Toolbox

24/10/2012 Introduzione a Matlab

MATLAB e’ integrato da una famiglia di soluzioni

application-specific denominate toolbox.

I toolbox sono collezioni complete di funzioni

MATLAB (M-file: file con estensione .m) che

estendono le funzionalità dell'ambiente di base

per risolvere particolari categorie di problemi.

Per verificare i toolbox installati, e la loro

versione si può digitare ver alla riga di comando

Corso di Laurea Magistrale in Ingegneria delle Telecomunicazioni

Misure elettroniche per le telecomunicazioni

Università degli Studi di

Cassino e del Lazio

Meridionale

Comandi di avvio

24/10/2012 Introduzione a Matlab

•La linea di comando di MATLAB è indicata dal

simbolo >>, che è il prompt dal quale possono

essere richiamati tutti i comandi da eseguire in

maniera interattiva.

•I comandi possono essere dati da tastiera o letti

da un file. Il comando viene interpretato nel

momento in cui viene premuto l’Invio.

•Per terminare la sessione di lavoro basta

digitare il comando exit oppure quit

Corso di Laurea Magistrale in Ingegneria delle Telecomunicazioni

Misure elettroniche per le telecomunicazioni

Università degli Studi di

Cassino e del Lazio

Meridionale

Desktop Layout

24/10/2012 Introduzione a Matlab

Corso di Laurea Magistrale in Ingegneria delle Telecomunicazioni

Misure elettroniche per le telecomunicazioni

Università degli Studi di

Cassino e del Lazio

Meridionale

Le variabili

24/10/2012 Introduzione a Matlab

•In MATLAB non è necessario dichiarare il tipo e la dimensione delle variabili.

•I nomi delle variabili possono essere costituiti da lettere e cifre. Il primo carattere deve essere una lettera.

•I nomi delle variabili possono essere lunghi al massimo 63 caratteri. Nel caso siano più lunghi essi vengono automaticamente troncati.

•MATLAB distingue tra maiuscole e minuscole (case sensitive). Questa caratteristica non è presente nella maggior parte dei linguaggi di programmazione.

Es. si può utilizzare la variabile t per indicare un istante di tempo e T per indicare un periodo di tempo: molto comodo.

Corso di Laurea Magistrale in Ingegneria delle Telecomunicazioni

Misure elettroniche per le telecomunicazioni

Università degli Studi di

Cassino e del Lazio

Meridionale

24/10/2012 Introduzione a Matlab

Le variabili

Alcune variabili sono predefinite, ad esempio •pi (3.141592…..)

•i, j (unità immaginaria )

•eps (precisione di macchina)

•realmax (massimo numero di macchina positivo)

•realmin (minimo numero di macchina positivo)

•Inf (Infinito: numero maggiore di realmax)

•NaN (Not a Number: risultato di operazioni non definite, tipicamente di 0/0)

Fatta eccezione per le variabili i e j, usate talvolta come indici interi, conviene non modificare il valore di queste variabili.

Corso di Laurea Magistrale in Ingegneria delle Telecomunicazioni

Misure elettroniche per le telecomunicazioni

Università degli Studi di

Cassino e del Lazio

Meridionale

Comandi per la gestione delle

variabili

24/10/2012 Introduzione a Matlab

•save

salva il contenuto dello spazio di lavoro (tutte le variabili ed i loro valori) in un archivio

chiamato automaticamente matlab.mat.

•save nome_archivio

salva il contenuto dello spazio di lavoro in un archivio di nome nome_archivio.mat.

•save nome_archivio var1 var2

salva le variabili var1 e var2 ed i loro valori in un archivio di nome nome_archivio.mat.

•load

carica nello spazio di lavoro tutte le variabili precedentemente salvate nell’archivio

matlab.mat.

•load nome_archivio

carica nello spazio di lavoro le variabili dell’archivio nome_archivio.mat.

•load nome_archivio var1

carica nello spazio di lavoro la variabile var1 dell’archivio nome_archivio.mat.

Corso di Laurea Magistrale in Ingegneria delle Telecomunicazioni

Misure elettroniche per le telecomunicazioni

Università degli Studi di

Cassino e del Lazio

Meridionale

Immissione di matrici

24/10/2012 Introduzione a Matlab

Si possono definire matrici in diversi modi

1. introducendo un elenco esplicito di elementi

2. utilizzando le funzioni generatrici messe a

disposizione da MATLAB

3. caricando matrici da file di dati esterni

4. sviluppando proprie funzioni generatrici

(create dall’utente in file esterni)

Corso di Laurea Magistrale in Ingegneria delle Telecomunicazioni

Misure elettroniche per le telecomunicazioni

Università degli Studi di

Cassino e del Lazio

Meridionale

24/10/2012 Introduzione a Matlab

Immissione di vettori

Se si vuole creare un vettore con un numero prefissato di punti equispaziati all’interno di un intervallo si può usare la funzione generatrice linspace(inizio,fine,numero di punti)

•inizio e fine sono gli estremi dell’intervallo

•numero di punti è uguale a 100 se è omesso.

Esempio: >>a=linspace(1,5,5)

a =

1 2 3 4 5

Corso di Laurea Magistrale in Ingegneria delle Telecomunicazioni

Misure elettroniche per le telecomunicazioni

Università degli Studi di

Cassino e del Lazio

Meridionale

24/10/2012 Introduzione a Matlab

Immissione di matrici

Nel caso in cui l’espressione digitata contenga un numero troppo grande di caratteri per restare su di un’unica riga di comando è possibile utilizzare un carattere di continuazione dato da tre punti consecutivi …

Es.1

>> A = [16 3 ...

2 13; 5 10 11 ...

Es.2

>> 1 + 1/4 + ...

1/8

ans = 1.375

Terminato l’inserimento di una matrice, essa è registrata automaticamente nel workspace di MATLAB.

In seguito si potrà indicarla semplicemente con il suo nome (Es. A), e su di essa sarà possibile effettuare operazioni di somma, trasposizione, inversione, etc .

Corso di Laurea Magistrale in Ingegneria delle Telecomunicazioni

Misure elettroniche per le telecomunicazioni

Università degli Studi di

Cassino e del Lazio

Meridionale

Trasposizione

24/10/2012 Introduzione a Matlab

L' operazione di trasposizione è denotata da un simbolo di apostrofo, ‘

Ad esempio, se

A =

16 3 2 13

5 10 11 8

9 6 7 12

4 15 14 1

se si digita A‘ alla riga di comando, si determina il seguente risultato:

ans =

16 5 9 4

3 10 6 15

2 11 7 14

13 8 12 1

Corso di Laurea Magistrale in Ingegneria delle Telecomunicazioni

Misure elettroniche per le telecomunicazioni

Università degli Studi di

Cassino e del Lazio

Meridionale

Funzione size()

24/10/2012 Introduzione a Matlab

Il comando size() fornisce la dimensione di una matrice:

>> vet = [1 2 3 4];

>> size(vet)

ans =

1 4

È possibile memorizzare in un vettore il risultato restituito dalla funzione size():

>> [n,m] = size (b)

Corso di Laurea Magistrale in Ingegneria delle Telecomunicazioni

Misure elettroniche per le telecomunicazioni

Università degli Studi di

Cassino e del Lazio

Meridionale

Accesso agli elementi di una matrice

24/10/2012 Introduzione a Matlab

L'elemento in riga i e colonna j di A è denotato con A(i,j).

Es:

A(4,2)

indica l’elemento di valore 15

È anche possibile richiamare gli elementi di una matrice utilizzando un singolo indice, A(k).

Questo metodo è naturale quando si considerino vettori riga e vettori colonna, ma si può anche applicare a matrici bidimensionali. In questo caso la matrice è considerata come un vettore colonna, formato dalle colonne della matrice originale disposte secondo un ordine progressivo.

Es:

A(4,2) e A(8) indicano il medesimo elemento

Corso di Laurea Magistrale in Ingegneria delle Telecomunicazioni

Misure elettroniche per le telecomunicazioni

Università degli Studi di

Cassino e del Lazio

Meridionale

24/10/2012 Introduzione a Matlab

Accesso agli elementi di una matrice

Se si tenta di usare il valore di un elemento della matrice al di fuori di essa, si commette un errore:

t = A(4,5)

Index exceeds matrix dimensions

D'altra parte, se si immagazzina un nuovo valore in un elemento della matrice, c'è un aumento dell'ordine per accomodare il nuovo elemento:

X = A;

X(4,5) = 17

X =

16 3 2 13 0

5 10 11 8 0

9 6 7 12 0

4 15 14 1 17

Corso di Laurea Magistrale in Ingegneria delle Telecomunicazioni

Misure elettroniche per le telecomunicazioni

Università degli Studi di

Cassino e del Lazio

Meridionale

L’operatore :

24/10/2012 Introduzione a Matlab

L’operatore due punti,:, è uno dei più importanti

operatori di MATLAB.

Si trova in molte forme diverse come sostituto di

un ciclo for .

Può essere utilizzato con la seguente sintassi:

NOMEVETTORE = VALOREINIZIALE : INCREMENTO : VALOREFINALE

NOMEVETTORE = (VALOREINIZIALE : INCREMENTO : VALOREFINALE)

NOMEVETTORE = [VALOREINIZIALE : INCREMENTO :VALOREFINALE]

Corso di Laurea Magistrale in Ingegneria delle Telecomunicazioni

Misure elettroniche per le telecomunicazioni

Università degli Studi di

Cassino e del Lazio

Meridionale

24/10/2012 Introduzione a Matlab

L’operatore :

L’operatore due punti può essere utilizzato per

assegnare o richiamare porzioni di una matrice.

Ad esempio

A(1:k,j)

richiama i primi k elementi della colonna j di A,

mentre:

sum(A(1:4,4))

calcola la somma dei primi quattro elementi della

quarta colonna.

Corso di Laurea Magistrale in Ingegneria delle Telecomunicazioni

Misure elettroniche per le telecomunicazioni

Università degli Studi di

Cassino e del Lazio

Meridionale

Funzioni generatrici di matrici particolari

24/10/2012 Introduzione a Matlab

MATLAB permette di creare direttamente alcuni particolari tipi di matrici

eye

genera la matrice identità (quadrata) di ordine assegnato

>> eye(4)

zeros

genera una matrice con tutti elementi uguali a zero

>> zeros(4,2)

ones

genera una matrice con tutti elementi uguali a 1

>> ones(2,3)

rand

genera una matrice di numeri casuali tra 0 e 1

>> rand(3,4)

Corso di Laurea Magistrale in Ingegneria delle Telecomunicazioni

Misure elettroniche per le telecomunicazioni

Università degli Studi di

Cassino e del Lazio

Meridionale

Operazioni aritmetiche

24/10/2012 Introduzione a Matlab

Le operazioni aritmetiche basilari definite in MATLAB sono le seguenti :

1. addizione +

2. sottrazione –

3. moltiplicazione *

4. divisione /

5. elevamento a potenza ^

Tali operazioni sono definite per le matrici e, di conseguenza, anche per i vettori e gli scalari

Corso di Laurea Magistrale in Ingegneria delle Telecomunicazioni

Misure elettroniche per le telecomunicazioni

Università degli Studi di

Cassino e del Lazio

Meridionale

Operazioni sui singoli elementi

delle matrici: operatori .*, ./, .^

24/10/2012 Introduzione a Matlab

Le operazioni aritmetiche * / ^ precedute dal carattere punto . Agiscono elemento per elemento. Queste operazioni non hanno analogo nel calcolo matriciale, ma sono molto utili.

» A = [ 1 2 ; 3 4];

» B = [ 1 2 ; -1 1];

» C = A ./ B

C =

1 1

-3 4

» C = A.*B

C =

1 4

-3 4

» C = A.^ B

C =

1.0000 4.0000

0.3333 4.0000

Corso di Laurea Magistrale in Ingegneria delle Telecomunicazioni

Misure elettroniche per le telecomunicazioni

Università degli Studi di

Cassino e del Lazio

Meridionale

Esempio operatore .*

24/10/2012 Introduzione a Matlab

A.*A

ans =

256 9 4 169

25 100 121 64

81 36 49 144

16 225 196 1

N.B. A .* A A * A = A ^ 2

Per poter eseguire questo tipo di operazioni (.*, ./, .^) gli operandi devono avere le stesse dimensioni.

L’unica eccezione a questa regola è data dal caso in cui uno dei due operandi è uno scalare. In questo caso è infatti possibile eseguire una qualunque operazione, puntuale e non, in quanto lo scalare viene trattato come una variabile dello stesso tipo e delle stesse dimensioni dell’altro operando, avente tutte le componenti costanti.

Corso di Laurea Magistrale in Ingegneria delle Telecomunicazioni

Misure elettroniche per le telecomunicazioni

Università degli Studi di

Cassino e del Lazio

Meridionale

Concatenazione

24/10/2012 Introduzione a Matlab

Per concatenazione si intende il processo di congiunzione di matrici per fare matrici di dimensioni più grandi.

La parentesi quadrata, [ ], è l'operatore della concatenazione.

Per un esempio, si parta dalla matrice 4x4 A e si formi:

B = [A A+32; A+48 A+16]

Il risultato è una matrice 8x8, ottenuta concatenando quattro sottomatrici 4x4.

B =

16 3 2 13 48 35 34 45

5 10 11 8 37 42 43 40

9 6 7 12 41 38 39 44

4 15 14 1 36 47 46 33

64 51 50 61 32 19 18 29

53 58 59 56 21 26 27 24

57 54 55 60 25 22 23 28

52 63 62 49 20 31 30 17

Corso di Laurea Magistrale in Ingegneria delle Telecomunicazioni

Misure elettroniche per le telecomunicazioni

Università degli Studi di

Cassino e del Lazio

Meridionale

Cancellazione di righe o colonne

24/10/2012 Introduzione a Matlab

Si possono cancellare righe e colonne da una matrice utilizzando le parentesi quadrate.

Ad esempio,sia:

X = A;

Per cancellare la seconda colonna di X, usiamo:

X(:,2) = [ ]

Questo cambia X in

X =

16 2 13

5 11 8

9 7 12

4 14 1

N.B. Se si cancella un singolo elemento da una matrice, il risultato non è più una matrice. Così,

X(1,2) = [ ]

produce un errore.

Corso di Laurea Magistrale in Ingegneria delle Telecomunicazioni

Misure elettroniche per le telecomunicazioni

Università degli Studi di

Cassino e del Lazio

Meridionale

Ulteriori operazioni con matrici

24/10/2012 Introduzione a Matlab

Se A è una matrice

>> max(A)

restituisce un vettore riga che contiene l’elemento massimo di ogni colonna

>> min(A)

restituisce un vettore riga che contiene l’elemento minimo di ogni colonna

>> eig(A)

restituisce una matrice diagonale che contiene gli autovalori di A ed una matrice le cui colonne sono gli autovettori corrispondenti

>> abs(A)

restituisce una matrice i cui elementi sono gli elementi di A presi in valore assoluto

Corso di Laurea Magistrale in Ingegneria delle Telecomunicazioni

Misure elettroniche per le telecomunicazioni

Università degli Studi di

Cassino e del Lazio

Meridionale

Soluzione di un sistema algebrico:

operatore \

24/10/2012 Introduzione a Matlab

Dato un sistema algebrico posto nella forma [A] * {x} = {b}, la soluzione {x} può essere ricavata utilizzando l’operatore \ (backslash): x = A \ b

L’uso di tale operatore equivale a scrivere x = inv(A) * b

Es.

A=[2 5 6;6 4 -12;1 0 4]

b=[32;6;1]

>> x=A\b

x =

-1.7907

6.2791

0.6977

2 5 6 32

6 4 12 6

4 1

x y z

x y z

x z

Corso di Laurea Magistrale in Ingegneria delle Telecomunicazioni

Misure elettroniche per le telecomunicazioni

Università degli Studi di

Cassino e del Lazio

Meridionale

Generazione di matrici mediante il

comando load

24/10/2012 Introduzione a Matlab

Si è mostrato che il comando load consente di legge file binari (.mat) che contengono variabili (e quindi anche matrici) generate in precedenti sessioni di MATLAB.

Tale comando può anche essere utilizzato per leggere file di testo contenenti dati numerici.

I file di testo dovrebbero essere organizzati come una tabella rettangolare di numeri, separata da spazi vuoti, con una riga per linea, e un numero uguale di elementi in ciascuna fila.

Corso di Laurea Magistrale in Ingegneria delle Telecomunicazioni

Misure elettroniche per le telecomunicazioni

Università degli Studi di

Cassino e del Lazio

Meridionale

Uso di Matlab come linguaggio di

programmazione

24/10/2012 Introduzione a Matlab

Alcune strutture elementari di programmazione disponibili in MATLAB sono:

•ciclo incondizionato for controllato da un contatore

•ciclo condizionato while

•uscita incondizionata break

•istruzioni condizionali if e switch

•operatori relazionali

•operatori logici

Corso di Laurea Magistrale in Ingegneria delle Telecomunicazioni

Misure elettroniche per le telecomunicazioni

Università degli Studi di

Cassino e del Lazio

Meridionale

Operatori relazionali

24/10/2012 Introduzione a Matlab

< <= > >= == ˜=

N.B. in MATLAB gli operatori relazionali possono essere applicati anche a vettori e matrici.

Esempio:

>>x=1:5;

>>y=5:-1:1;

>>z=x>y

z =

0 0 0 1 1

Corso di Laurea Magistrale in Ingegneria delle Telecomunicazioni

Misure elettroniche per le telecomunicazioni

Università degli Studi di

Cassino e del Lazio

Meridionale

Istruzioni condizionali: if

24/10/2012 Introduzione a Matlab

if condizione1

istruzioni

elseif condizione2

istruzioni

....

else

istruzioni

end

Il primo blocco di istruzioni sarà eseguito solo se la condizione1 risulta essere verificata, il secondo solo se la condizione1 risulta essere falsa e la condizione2 vera.

Il blocco che segue else sarà eseguito soltanto se nessuna delle precedenti condizioni risulta essere vera.

Corso di Laurea Magistrale in Ingegneria delle Telecomunicazioni

Misure elettroniche per le telecomunicazioni

Università degli Studi di

Cassino e del Lazio

Meridionale

Istruzioni condizionali: switch

24/10/2012 Introduzione a Matlab

switch variabile

case valore1

istruzioni

case {valore2, valore3,...}

istruzioni

otherwise,

istruzioni

end

Se variabile è uguale a valore1 vengono eseguite le righe di codice poste dopo la prima istruzione case.

Se variabile è uguale a valore2 o valore3 o ... vengono eseguite le righe di codice poste dopo la seconda istruzione case.

In tutti gli altri casi vengono eseguite le istruzioni dopo otherwise

Corso di Laurea Magistrale in Ingegneria delle Telecomunicazioni

Misure elettroniche per le telecomunicazioni

Università degli Studi di

Cassino e del Lazio

Meridionale

Ciclo for

24/10/2012 Introduzione a Matlab

for variable = inizio:incremento:fine,

istruzione

...

istruzione

end

Il ciclo viene ripetuto per tutti i valori di variabile compresi tra inizio e fine. Al termine di ogni ciclo il valore di variabile viene incrementato di incremento.

Se il valore di incremento viene omesso esso vieneautomaticamente assunto uguale a +1.

Corso di Laurea Magistrale in Ingegneria delle Telecomunicazioni

Misure elettroniche per le telecomunicazioni

Università degli Studi di

Cassino e del Lazio

Meridionale

Ciclo condizionato while

24/10/2012 Introduzione a Matlab

while condizione

istruzione

...

istruzione

end

condizione è un’espressione che MATLAB valuta numericamente e che viene interpretata come vera se assume valore 1, come falsa se assume valore 0.

Il ciclo viene eseguito fintanto che l’espressione è vera.

Se si utilizza l’operatore logico ˜ davanti a condizione, il ciclo viene eseguito fintanto che l’espressione è falsa.

Corso di Laurea Magistrale in Ingegneria delle Telecomunicazioni

Misure elettroniche per le telecomunicazioni

Università degli Studi di

Cassino e del Lazio

Meridionale

Uscita incondizionata break

24/10/2012 Introduzione a Matlab

Il comando break consente di uscire in maniera

forzata da un ciclo for o while.

Quando tale comando viene eseguito MATLAB

salta direttamente all’istruzione end, con cui

termina il ciclo.

Corso di Laurea Magistrale in Ingegneria delle Telecomunicazioni

Misure elettroniche per le telecomunicazioni

Università degli Studi di

Cassino e del Lazio

Meridionale

m-file (script) e funzioni

24/10/2012 Introduzione a Matlab

Esistono due categorie di programmi eseguibili in MATLAB:

m-file (o script) file di comandi

function-file file di funzioni

Entrambi questi programmi devono essere salvati in file con estensione “.m”.

Per inserire dei commenti all'interno dei programmi viene utilizzato il carattere %. I commenti posti all’inizio di un file con estensione .m possono essere mostrati digitando il comando help seguito dal nome del programma.

Corso di Laurea Magistrale in Ingegneria delle Telecomunicazioni

Misure elettroniche per le telecomunicazioni

Università degli Studi di

Cassino e del Lazio

Meridionale

m-file (script)

24/10/2012 Introduzione a Matlab

Un m-file contiene una successione di comandi MATLAB memorizzati in un file di testo.

Esso è caratterizzato da un nome con estensione .m (es. nomefile.m) che lo identifica come un nuovo comando MATLAB.

Pertanto, per eseguire il programma è sufficiente digitare il suo nome alla riga di comando di MATLAB:

>> nomefile

Con questa operazione si ottiene lo stesso risultato che si sarebbe ottenuto scrivendo uno ad uno i comandi elencati nello script.

Le variabili definite in uno script sono variabili globali e quindi contribuiscono ad aumentare l’occupazione di memoria: rimangono in workspace anche le variabili di servizio, di cui è superfluo conservare i valori.

Corso di Laurea Magistrale in Ingegneria delle Telecomunicazioni

Misure elettroniche per le telecomunicazioni

Università degli Studi di

Cassino e del Lazio

Meridionale

function file

24/10/2012 Introduzione a Matlab

Se si vogliono evitare gli inconvenienti di allocazione di memoria dati dagli m-file, e se si vuole suddividere un programma in più sotto-programmi è conveniente considerare i function-file (o “function”).

Un function-file è caratterizzato da una lista di parametri di input (opzionale) ed una lista di parametri di output (anch’essa opzionale).

A differenza dello script, la prima riga di una function deve avere obbligatoriamente la seguente struttura:

function [y1, ... , yn] = nome_funzione (x1, ... , xm)

Il file deve essere salvato con un nome uguale a quello della funzione (nome_funzione) e con estensione .m.

N.B. Le variabili utilizzate durante l’esecuzione del programma vengono

trattate come variabili locali e vengono automaticamente cancellate dalla

memoria al termine dell’esecuzione.

Corso di Laurea Magistrale in Ingegneria delle Telecomunicazioni

Misure elettroniche per le telecomunicazioni

Università degli Studi di

Cassino e del Lazio

Meridionale

Grafici: funzione plot()

24/10/2012 Introduzione a Matlab

La funzione plot() consente di produrre grafici bidimensionali.

Essa genera risultati che dipendendo dal numero di argomenti utilizzati.

Se y è un vettore, plot(y) produce un grafico lineare degli elementi di y rispetto all'indice degli elementi di y. Tutti i punti rappresentati vengono raccordati tra loro mediante tratti rettilinei: si ottiene pertanto una rappresentazione grafica di y mediante una spezzata.

Se si specificano due vettori come argomenti, ad esempio x e y, plot(x,y) produce un grafico di y (ordinate) contro x (ascisse).

Corso di Laurea Magistrale in Ingegneria delle Telecomunicazioni

Misure elettroniche per le telecomunicazioni

Università degli Studi di

Cassino e del Lazio

Meridionale

figure(), close(), close all

24/10/2012 Introduzione a Matlab

L’invocazione della funzione plot() comporta l’apertura automatica di una nuova finestra grafica qualora non ve ne siano già di aperte.

Se una finestra grafica risulta essere già aperta, il comando plot() viene applicato a tale finestra. Ciò comporta che venga sovrascritto il contenuto di tale finestra.

Per aprire una finestra nuova, nominarla finestra “n” (dove n è il numero nella barra del titolo della figura) e renderla finestra corrente è sufficiente digitare:

figure(n)

Tale istruzione può essere anche applicata ad una finestra grafica già aperta, per renderla finestra corrente.

Per chiudere la suddetta finestra si digita il comando close(n), per chiudere tutte le finestre attive si digita close all.