La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

MATLAB Stefano Gagliardo

Presentazioni simili


Presentazione sul tema: "MATLAB Stefano Gagliardo"— Transcript della presentazione:

1 MATLAB Stefano Gagliardo gagliardo@dima.unige.it

2 Scopo della lezione: Introduzione a Matlab Matrici Esercizi

3 MATLAB MATrix LABoratory Linguaggio di programmazione interpretato
legge un comando per volta eseguendolo immediatamente MATLAB puo’ essere definito come un un ambiente di lavoro particolarmente adatto ad applicazioni numeriche E’ un programma studiato per operare su matrici, infatti MATLAB sta x MATRIX LABORATORY E’ un linguaggio di programmazione interpretato, in quanto legge un comando x volta e lo esegue immediatamente

4 POTENZIALITA’ DI MATLAB
Operazioni elementari tra matrici (moltiplicazione, determinante, rango, inversa ecc.); risoluzione sistemi lineari; calcolo degli autovalori e autovettori di matrici; grafica: grafici 2D e 3D

5 MATLAB come calcolatrice
4 + 7 invio lo memorizza in ans x = 9 -> invio è possibile definire variabili e operare su esse

6 Comandi elementari I 2/0 -> Inf 0/0 -> NaN (Not-a-Number)
Operatori aritmetici * / ^ Caratteri speciali ; % : Variabili predefinite i, pi, NaN, Inf 2/0 -> Inf 0/0 -> NaN (Not-a-Number) NaN anche Inf/Inf

7 Comandi elementari II Funzioni elementari: sin, cos, log, exp
Comandi speciali: clear, clc help lookfor

8 In MATLAB tutte le variabili sono trattate
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

9 Vettori Per definire un vettore riga Per definire un vettore colonna
per separare le righe a = [1; 2; 3; 4; 5] o a = [ ] ’ trasposto

10 Per definire una matrice:
Matrici Per definire una matrice: A = [3 0; 1 2] A = [3 0 1 2] R1=[3 0 3] R2=[1 2 0] B = [R1;R2] Il punto e virgola dopo il comando fa si che il risultato nn venga visualizzato size(B) -> dimensioni della matrice [r c] = size(B) per memorizzare le dimesioni

11 v=val_iniziale:p:val_finale
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 Un comando importante in Matlab è :. Tale simbolo è importante x la manipolazione delle matrici. L’incremento di default è 1 ma si possono assegnare passi diversi. Per avere dei passi negativi è necessario assegnare il passo Matlab segnala errore se p>0 e a<b p<0 e a>b

12 Esercizio 1 i primi 20 elementi sono 1,2,…,20 gli ultimi 20 20,19,…,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]

13 Individuare\modificare elementi
per selezionare un elemento per modificare l’elemento per visualizzare B B(2,3) B(2,3) = 1; B

14 Estrarre sottomatrici
B(2,:) estrarre la riga R2 B(:,2) estrarre la colonna C2 B(:,2:3) sottomatrice 2 x 2 B(:,[2 3])

15 Matrici diagonali (diag)
MATRICE A: diagonale di A -> d = diag(A) con d vettore colonna VETTORE d: B = diag(d) -> la funzionale diag applicata ad una matrix restituisce la matrix colonna contenente la diag di A diag(vettore) restituisce una matrix diagonale avente sulla diagonale il vettore

16 Matrici triangolari matrice triangolare inferiore tril(A) triu(B)
matrice triangolare superiore

17 matrice m x n a valori random
Matrici notevoli identità di ordine n -> eye(n) matrice nulla m x n -> zeros(m,n) ones(m,n) matrice m x n di 1 -> matrice m x n a valori random compresi tra 0 e 1 -> rand(m,n)

18 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

19 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];

20 Operazioni - somma Somma / Differenza Trasposta A’ A+B A-B A+C
??? Error using = => + Matrix dimensions must agree. Somma / Differenza A-B A+C Trasposta A’

21 Operazioni - prodotto Prodotto A*B #CA = #RB Elemento per elemento
size(A) = size(B) Prodotto per uno scalare A*k

22 Determinante ? det(B) 1 Determinante  det(D) 2 Rango  rank(D) inv(B)
÷ ø ö ç è æ - = 1 3 2 5 4 D B det(B) det(D) 1 Determinante  Rango  rank(D) 2 inv(B) inv(D) Inversa  ?

23 Esercizio 3 Definite: Valutare quale delle seguenti operazioni sono lecite e nel caso lo siano eseguirle con Matlab: A+B, A*B, A.*B, A*B’; Calcolare: D=(A*A’)-I, con I matrice identica; Verificare le proprietà della trasposta: A=(A’)’, (A+B)’=A’+B’, A*B’=(B*A’)’, det(D’)=det(D), (cA)’=cA’ con c scalare.

24 Esercizio 4


Scaricare ppt "MATLAB Stefano Gagliardo"

Presentazioni simili


Annunci Google