matlab. annalisa pascarella [email protected]
TRANSCRIPT
MATLABMATLAB
Annalisa PascarellaAnnalisa Pascarella
[email protected]@dima.unige.it
www.aula.dimet.unige.itwww.aula.dimet.unige.it
……oggi…oggi…
Piccola introduzione a MatlabPiccola introduzione a Matlab MatriciMatrici
definizionedefinizione operazionioperazioni
EserciziEsercizi
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
MATLAB come calcolatrice-MATLAB come calcolatrice-11
è possibile definire variabili e operare su essex = 9 -> invio
4 + 7
invio
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
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
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
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
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
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)
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
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])
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
Matrici triangolariMatrici triangolari
22
21
03
RA 32
021
303
RB
matrice triangolare inferiore ->
tril(A)
matrice triangolare superiore ->
triu(B)
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)
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
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
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
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’
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
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)
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