Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
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
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.