230 likes | 348 Views
MATLAB. Cristina Campi campi@dima.unige.it. Outline. Introduzione a Matlab Matrici Esercizi. MATLAB. MATrix LABoratory Linguaggio di programmazione interpretato legge un comando per volta eseguendolo immediatamente. 4 + 7 invio. x = 9 -> invio. MATLAB come calcolatrice.
E N D
MATLAB Cristina Campi campi@dima.unige.it
Outline • Introduzione a Matlab • Matrici • Esercizi
MATLAB • MATrix LABoratory • Linguaggio di programmazione interpretato • legge un comando per volta eseguendolo immediatamente
4 + 7 invio x = 9 -> invio MATLAB come calcolatrice è possibile definire variabili e operare su esse
Comandi elementari I • Operatori aritmetici + - * / ^ • Caratteri speciali ; % : • Variabili predefinite i, pi, NaN, Inf • 2/0 -> Inf • 0/0 -> NaN (Not-a-Number)
Comandi elementari II • Funzioni elementari: sin, cos, log, exp • Comandi speciali: clear, clc • help • lookfor
Lavorare con MATLAB In MATLAB tutte le variabili sono trattate come matrici, e quindi: • scalari -> matrici 1 x 1 • vettori riga -> matrici 1 x n v = (v1,…, vn) • vettori colonna -> matrici n x 1 v = (v1,…, vn)T • matrici -> matrici m x n
Vettori • Per definire un vettore riga • Per definire un vettore colonna a = [1 2 3 4 5] o a = [1, 2, 3, 4, 5] per separare le righe a = [1; 2; 3; 4; 5] o a = [1 2 3 4 5] ’ trasposto
A = [3 0; 1 2] A = [3 0 1 2] B = [3 0 3; 1 2 0] Matrici Per definire una matrice: size(B) -> dimensioni della matrice [r c] = size(B) per memorizzare le dimesioni
Creazione vettori vettori che siano delle progressione aritmetiche di passo costante p: v=val_iniziale:p:val_finale b = 1: .2 : 4 c = 3: -1: 1 Se p=1 si può omettere
Esercizio 1 • Costruire un vettore di 40 elementi così fatto: • i primi 20 elementi sono 1,2,…,20 • gli ultimi 20 20,19,…,1 • Chiamare questo vettore v SOLUZIONE: v = [1:20 20:-1:1]
B(2,3) B(2,3) = 1; B Individuare\modificare elementi per selezionare un elemento per modificare l’elemento per visualizzare B
B(:,[2 3]) B(:,2:3) B(2,:) B(:,2) Estrarre sottomatrici estrarre la riga R2 estrarre la colonna C2 sottomatrice 2 x 2
Matrici diagonali diagonale di A -> d = diag(A) con d vettore colonna B = diag(d) ->
triu(B) tril(A) Matrici triangolari matrice triangolareinferiore matricetriangolare superiore
zeros(m,n) ones(m,n) Matrici notevoli identità di ordine n -> eye(n) matrice nulla m x n -> matrice m x n di 1 ->
Esercizio 2 • Costruire una matrice A 3 x 7 cosi fatta: • la prima riga a1 = 7,6,…,1 • la seconda riga a2 = 1,1,…,1 • la terza riga a3 = 0,0,…,0 • Estrarre 2 sottomatrici: • una costituita dalle ultime 3 colonne • una costituita dagli elementi della I e III riga , II e IV colonna
Operazioni I 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];
Operazioni - somma A+B ??? Error using = => + Matrix dimensions must agree. Somma / Differenza A-B A+C Trasposta A’
Operazioni - prodotto Prodotto A*B #CA = #RB Elemento per elemento A.*B size(A) = size(B) Prodotto per uno scalare A*k
- æ ö 3 4 1 ç ÷ æ ö 1 0 ç ÷ = = B D 5 2 3 ç ÷ ç ÷ - 1 1 è ø ç ÷ - 0 1 1 è ø ? Determinante det(B) det(D) 1 0 Determinante 2 Rango rank(D) inv(B) inv(D) Inversa