matlab. annalisa pascarella [email protected]

23
MATLAB MATLAB

Upload: andrea-pisano

Post on 01-May-2015

228 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: MATLAB. Annalisa Pascarella pascarel@dima.unige.it

MATLABMATLAB

Page 2: MATLAB. Annalisa Pascarella pascarel@dima.unige.it

Annalisa PascarellaAnnalisa Pascarella

[email protected]@dima.unige.it

www.aula.dimet.unige.itwww.aula.dimet.unige.it

Page 3: MATLAB. Annalisa Pascarella pascarel@dima.unige.it

……oggi…oggi…

Piccola introduzione a MatlabPiccola introduzione a Matlab MatriciMatrici

definizionedefinizione operazionioperazioni

EserciziEsercizi

Page 4: MATLAB. Annalisa Pascarella pascarel@dima.unige.it

MATLABMATLAB MATrix LABoratoryMATrix LABoratory Linguaggio di programmazione Linguaggio di programmazione

interpretatointerpretato legge un comando per volta eseguendolo legge un comando per volta eseguendolo

immediatamenteimmediatamente

Per avviarlo -> Per avviarlo ->

icona sul desktopicona sul desktop

command window

Page 5: MATLAB. Annalisa Pascarella pascarel@dima.unige.it

MATLAB come calcolatrice-MATLAB come calcolatrice-11

è possibile definire variabili e operare su essex = 9 -> invio

4 + 7

invio

Page 6: MATLAB. Annalisa Pascarella pascarel@dima.unige.it

MATLAB come calcolatrice-MATLAB come calcolatrice-22

Operatori aritmeticiOperatori aritmetici +, -, *, /, ^, +, -, *, /, ^, Caratteri specialiCaratteri speciali ;, %, : ;, %, : Variabili predefiniteVariabili predefinite i, pi, NaN, Infi, pi, NaN, Inf

2/02/0 ->-> InfInf 0/00/0 ->-> NaN (Not-a-Number)NaN (Not-a-Number)

Funzioni elementariFunzioni elementari sin, cos, log, sin, cos, log, expexp

Comandi specialiComandi speciali help, clear help, clearhelp sqrt

Page 7: MATLAB. Annalisa Pascarella pascarel@dima.unige.it

Lavorare con MATLABLavorare con MATLAB

In MATLAB tutte le variabili sono trattate In MATLAB tutte le variabili sono trattate come matricicome matrici scalariscalari ->-> matrici 1 x 1matrici 1 x 1 vettori rigavettori riga ->-> matrici 1 x nmatrici 1 x n

v = (vv = (v11,…, v,…, vnn)) vettori colonnavettori colonna ->-> matrici n x 1matrici n x 1

v = (vv = (v11,…, v,…, vnn))TT

matricimatrici -> -> matrici m x nmatrici m x n

mnm

n

aa

aa

A

1

111

Page 8: MATLAB. Annalisa Pascarella pascarel@dima.unige.it

VettoriVettori

Per definire un vettore rigaPer definire un vettore riga

Per definire un vettore colonnaPer definire un vettore colonna

a = [1 2 3 4 5]o

a = [1, 2, 3, 4, 5]

a = [1; 2; 3; 4; 5]o

a = [1 2 3 4 5] ’

trasposto

per separare le righe

Page 9: MATLAB. Annalisa Pascarella pascarel@dima.unige.it

Il comando :Il comando :

Importante per la manipolazione delle Importante per la manipolazione delle matricimatrici

EsempiEsempi generazione di vettori che siano delle generazione di vettori che siano delle

progressione aritmetiche di passo costanteprogressione aritmetiche di passo costante• a = [1:10]a = [1:10] o o a = 1:10a = 1:10• b = 1: .2 : 4b = 1: .2 : 4• c = 3:0c = 3:0 ->-> non produce niente!!!!non produce niente!!!!• c = 3: -1: 1c = 3: -1: 1

mediante : si possono estrarre righe e colonnemediante : si possono estrarre righe e colonne

Page 10: MATLAB. Annalisa Pascarella pascarel@dima.unige.it

Esercizio Esercizio

Costruire il vettore v di 40 elementiCostruire il vettore v di 40 elementiv = [1,2,…,20,20,19,…,1]v = [1,2,…,20,20,19,…,1]

Usare il comando Usare il comando lengthlength su v su v

Page 11: MATLAB. Annalisa Pascarella pascarel@dima.unige.it

MatriciMatrici Per definire una matricePer definire una matrice

22

21

03

RA

A = [3 0; 1 2]A = [3 0 1 2]

32

021

303

RB B = [3 0 3; 1 2 0]

size(B)size(B) ->-> dimensioni della matricedimensioni della matrice

per memorizzare le dimensioni ->per memorizzare le dimensioni -> [r c] = size(B)[r c] = size(B)

Page 12: MATLAB. Annalisa Pascarella pascarel@dima.unige.it

Individuare\modificare Individuare\modificare elementielementi

per selezionare un per selezionare un elementoelemento

per modificare l’elementoper modificare l’elemento

per visualizzare Bper visualizzare B

32

021

303

RB

B(2,3)

B(2,3) = 1;

B

Page 13: MATLAB. Annalisa Pascarella pascarel@dima.unige.it

Estrarre sottomatriciEstrarre sottomatrici

estrarre la riga Restrarre la riga R22

32

021

303

RB

B(2,:)

B(:,2:3)

estrarre la colonna Cestrarre la colonna C22B(:,2)

sottomatrice 2 x 2sottomatrice 2 x 2

B(:,[1 3])

Page 14: MATLAB. Annalisa Pascarella pascarel@dima.unige.it

Matrici diagonaliMatrici diagonali

22

21

03

RA

20

03A

costruisce anche matrici diagonali

40

01

Diagonale di A

d = diag(A)

diag(d)

a = [ 1 2 ]; diag(a)

20

01D

Page 15: MATLAB. Annalisa Pascarella pascarel@dima.unige.it

Matrici triangolariMatrici triangolari

22

21

03

RA 32

021

303

RB

matrice triangolare inferiore ->

tril(A)

matrice triangolare superiore ->

triu(B)

Page 16: MATLAB. Annalisa Pascarella pascarel@dima.unige.it

Identità-zero-unoIdentità-zero-uno

identità di ordine n-> eye(n)

eye(3)

100

010

001

I

matrice nulla m x n ->

000

000Z

zeros(m,n)

zeros(2,3)

matrice m x n di 1 ->

111

111Z

ones(m,n)

ones(2,3)

Page 17: MATLAB. Annalisa Pascarella pascarel@dima.unige.it

Esercizio 2Esercizio 2 Costruire la matrice Costruire la matrice

la I riga è la I riga è a1 = 14,12,…,2a1 = 14,12,…,2 la II riga è la II riga è a2 = 1,1,…,1a2 = 1,1,…,1 la III riga è la III riga è a3 = 0,0,…,0a3 = 0,0,…,0

Modificare l’elemento Modificare l’elemento A(1,3)A(1,3) ponendolo uguale ponendolo uguale a a 33

Estrarre 2 sottomatrici:Estrarre 2 sottomatrici: una costituita dalle ultime 3 colonneuna costituita dalle ultime 3 colonne una costituita dalla I e III riga e dalle colonne II e IVuna costituita dalla I e III riga e dalle colonne II e IV

73RA

Page 18: MATLAB. Annalisa Pascarella pascarel@dima.unige.it

I modoI modo

II modoII modo

III modoIII modo

Matrici a blocchiMatrici a blocchi22

21

03

RA

300

021

003

A

1121

3203D

A(3,3) = 3

C = [2 3; 1 1]

D = [A C]

C(3:4,3:4) = eye(2)

1000

0100

0011

0032

C

Page 19: MATLAB. Annalisa Pascarella pascarel@dima.unige.it

Operazioni - 1Operazioni - 1

clear

A=[1 2;3 4];

B=[1 0;-1 1];

C=[0 3 1;1 2 4];

D=[3 4 -1;5 2 3;0 1 -1];

110

325

143

421

130

11

01

43

21DCBA

Page 20: MATLAB. Annalisa Pascarella pascarel@dima.unige.it

Operazioni - sommaOperazioni - somma

421

130

11

01

43

21CBA

Somma / Differenza

A+B

A-B

A+C??? Error using = => +

Matrix dimensions must

agree.

Trasposta A’

Page 21: MATLAB. Annalisa Pascarella pascarel@dima.unige.it

Operazioni - prodottoOperazioni - prodotto

11

01

43

21BA

Prodotto A*B #CA = #RB

Elemento per elemento

A.*B size(A) = size(B)

Prodotto per uno scalare

A*k

Page 22: MATLAB. Annalisa Pascarella pascarel@dima.unige.it

DeterminanteDeterminante

110

325

143

11

01DB

Determinante det(B)

det(D)

1

0

Inversa inv(B)

inv(D)

Rango rank(D) 2

11

01

?

B^(-1)

Page 23: MATLAB. Annalisa Pascarella pascarel@dima.unige.it

EserciziEsercizi Costruire le matrici Costruire le matrici A e BA e B::

300

000

000

000

000

000

000

000

000

100

010

001

]8[1648

]3[193

]2[142

]1[111

B

A

floor) comando il (usare intera" parte" per sta [...] dove