La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Università degli Studi di Bari Laurea in Chimica Di spense di Informatica - Dott. F. Mavelli Lezione 4 Vettori e Matrici Parte II.

Presentazioni simili


Presentazione sul tema: "Università degli Studi di Bari Laurea in Chimica Di spense di Informatica - Dott. F. Mavelli Lezione 4 Vettori e Matrici Parte II."— Transcript della presentazione:

1 Università degli Studi di Bari Laurea in Chimica Di spense di Informatica - Dott. F. Mavelli Lezione 4 Vettori e Matrici Parte II

2 Università degli Studi di Bari Laurea in Chimica Di spense di Informatica - Dott. F. Mavelli Matrici: introduzione matematica Cenni di Algebra Matriciale

3 Università degli Studi di Bari Laurea in Chimica Di spense di Informatica - Dott. F. Mavelli 3 Definizione di Matrice Tutte le variabili numeriche in MATLAB vengono trattate come matrici, ossia come tabelle bidimensionali di numeri, organizzate in righe e colonne: ordinen x m n righem colonne A è una matrice di ordine (n x m) in quanto è formata da n righe ed m colonne Ogni elemento a i,j della matrice A è contraddistinto da un indice di riga (i) e di colonna (j) che ne individua la posizione allinterno della matrice stessa.

4 Università degli Studi di Bari Laurea in Chimica Di spense di Informatica - Dott. F. Mavelli 4 Vettori Gli scalari altro non sono che matrici formate da una solo riga ed una sola colonna Vengono chiamate vettori quelle matrici che hanno o numero di righe o di colonne unitario: Vettore Colonna Vettore Riga

5 Università degli Studi di Bari Laurea in Chimica Di spense di Informatica - Dott. F. Mavelli 5 Prodotto Matrice Scalare Data una matrice A di ordine (n x m) ed un numero c, reale o complesso, il prodotto: B = c A è una matrice di ordine (n x m) i cui elementi sono i corrispondenti elementi di A moltiplicati per lo scalare c b i,j = c · a i,j

6 Università degli Studi di Bari Laurea in Chimica Di spense di Informatica - Dott. F. Mavelli 6 Esempi: c = 5

7 Università degli Studi di Bari Laurea in Chimica Di spense di Informatica - Dott. F. Mavelli 7 Somma Algebrica di Matrici c i,j = b i,j ± a i,j C = B ± A Date due matrici A e B di uguale ordine (n x m), resta definita la matrice C, di ordine (n x m), ottenuta dalla somma algebrica delle matrici date: e i cui elementi sono dati dalla somma algebrica elemento a elemento degli elementi corrispondenti delle matrici A e B. Due Matrici A e B possono essere sommate o sottratte solo se hanno lo stesso ordine.

8 Università degli Studi di Bari Laurea in Chimica Di spense di Informatica - Dott. F. Mavelli 8 Esempi: Somma Matrici Somma Vettori riga

9 Università degli Studi di Bari Laurea in Chimica Di spense di Informatica - Dott. F. Mavelli 9 Trasposizione di Matrici Data la matrice A la sua trasposta A' si ottiene scambiando le righe con le colonne:

10 Università degli Studi di Bari Laurea in Chimica Di spense di Informatica - Dott. F. Mavelli 10 Prodotto di Matrici C (n m) = A (n s) B (s m) Il prodotto di una matrice A, di ordine (n s), per la matrice B di ordine (s m), è la matrice C, di ordine (n m): il cui elemento generico c i,j è dato dalla somma dei prodotti degli elementi della riga i-esima della matrice A per i corrispondenti elementi della j-esima colonna della matrice B. Due Matrici A e B possono essere moltiplicate fra loro solo se il numero di colonne di A è uguale al numero di righe di B.

11 Università degli Studi di Bari Laurea in Chimica Di spense di Informatica - Dott. F. Mavelli 11 Prodotto di Matrici C (n m) = A (n s) B (s m) Il prodotto di matrici così definito viene anche detto: prodotto righe per colonne Le dimensioni interne devono essere uguali La matrice risultato C ha le dimensioni esterne Dimensioni interne Dimensioni esterne

12 Università degli Studi di Bari Laurea in Chimica Di spense di Informatica - Dott. F. Mavelli 12 Esempi Anche se esiste C = A B non è detto che sia definito il prodotto: B A !

13 Università degli Studi di Bari Laurea in Chimica Di spense di Informatica - Dott. F. Mavelli 13 Esempi Anche se esiste C = A x B non è detto che sia definito il prodotto: B x A ! 3 5 a1a2a1a2 3a 1 + 5a 2

14 Università degli Studi di Bari Laurea in Chimica Di spense di Informatica - Dott. F. Mavelli 14 Prodotti righe per colonne Prodotto matrice vettore Prodotto vettore riga vettore colonna Prodotto vettore colonna vettore riga

15 Università degli Studi di Bari Laurea in Chimica Di spense di Informatica - Dott. F. Mavelli 15 Matrice identità E Si definisce matrice identità E la matrice quadrata che ha elementi tutti nulli eccetto quelli sulla diagonale principale che sono uguali ad 1. Il prodotto della matrice identità E per una qualsiasi matrice quadrata A restituisce la matrice A stessa Proprietà della matrice identità

16 Università degli Studi di Bari Laurea in Chimica Di spense di Informatica - Dott. F. Mavelli 16 Matrice Inversa A -1 Data una matrice quadrata A viene definita matrice inversa di A e denotata con il simbolo A -1 la matrice che soddisfa la seguente relazione: A A -1 = A -1 A = E ossia quella matrice che moltiplicata per la matrice A restituisce la matrice identità (Si noti che in questo caso il prodotto è commutativo). La matrice inversa resta definita solo per matrici quadrate Non tutte le matrici quadrate sono dotate di inversa Si dimostra che le matrici quadrate dotate di inversa sono quelle a determinante non nullo e sono dette non singolari

17 Università degli Studi di Bari Laurea in Chimica Di spense di Informatica - Dott. F. Mavelli 17 Divisione Date due Matrici A=(a i,j ) e B=(b i,j ) viene definita loperazione di divisione della matrice A per B come il prodotto della matrice A per linversa della matrice B: A / B = A B -1 dove B -1 è la matrice inversa della matrice B e resta definita solo per matrici quadrate, non singolari, ossia a determinante non nullo. Per cui matrici rettangolari e vettori non possono essere i divisori in un operazione di divisione fra matrici A / B dividendo divisore

18 Università degli Studi di Bari Laurea in Chimica Di spense di Informatica - Dott. F. Mavelli 18 OperazioniRequisitiModalità ProdottocAcA--Operazione elemento a elemento ___________________________________________________________________________________________________________________________________________________________ Somma Algebrica A ± B Uguali dimensioni: stesso numero di righe e di colonne Operazione elemento a elemento Prodotto A B Numero di colonne di A uguale al numero di righe di B Prodotto righe per colonne DivisioneA / B B matrice non singolare, ossia dotata di inversa B -1 B B -1 = B -1 B = E A / B = A B -1 Elevamento a potenzaAnAn Solo per matrici quadrate A A …(n volte)… A

19 Università degli Studi di Bari Laurea in Chimica Di spense di Informatica - Dott. F. Mavelli Vettori e Matrici in Matlab Operazioni con Scalari Operazioni fra Vettori e Matrici

20 Università degli Studi di Bari Laurea in Chimica Di spense di Informatica - Dott. F. Mavelli 20 Operazioni con Scalari Tutte le operazioni di somma (+), sottrazione (-), prodotto (*), divisione (/) di una matrice o vettore per uno scalare sono definite, in Matlab come operazioni elemento ad elemento: il risultato è una matrice o un vettore i cui elementi sono ottenuti sommando, sottraendo, moltiplicando, dividendo i singoli elementi della matrice o del vettore per lo scalare. >> y = 10; >> r_x = 1 : 4 r_x = >> r_x + y ans = >> y - r_x ans = >> r_x * y ans = >> r_x / y ans = somma sottraz. prodot. divisione N.B.: Si ricordi che in algebra matriciale solo il prodotto scalare per matrice è in realtà definito

21 Università degli Studi di Bari Laurea in Chimica Di spense di Informatica - Dott. F. Mavelli 21 Operazioni con Scalari Tutte le operazioni fra matrici e scalari in matlab sono commutative eccetto la divisione >> m_x = [1 2; 3 4]; y = 10 >> m_x + y ans = >> y + m_x ans = somma N.B.: E possibile dividere un vettore o una matrice per uno scalare, ma non uno scalare per un vettore o una matrice >> m_x = [1 2; 3 4]; y = 10 >> m_x / y ans = >> y / m_x ?? Error using ==> / Matrix dimensions must agree. divisione

22 Università degli Studi di Bari Laurea in Chimica Di spense di Informatica - Dott. F. Mavelli 22 Operazioni fra Vettori e Matrici (.*) Prodotto elemento a elemento (./) Divisione elemento a elemento (.^) Elevamento a Potenza elemento a elemento (+) Somma (-) Sottrazione (*) Prodotto Righe per Colonne (/) Divisione: matrici non singolari Matlab permette di effettuare facilmente operazioni fra vettori e matrici rispettando le regole dellalgebra matriciale, ma implementa anche degli operatori che permettono di effettuare operazioni di tipo diverso: Operatori che seguono le regole dellalgebra matriciale L Operatore punto. forza le operazioni ad essere effettuate elemento ad elemento

23 Università degli Studi di Bari Laurea in Chimica Di spense di Informatica - Dott. F. Mavelli Operazioni fra Vettori e Matrici Operatori che seguono le regole dellalgebra matriciale

24 Università degli Studi di Bari Laurea in Chimica Di spense di Informatica - Dott. F. Mavelli 24 Somma (+) e Sottrazione (-) La somma e la sottrazione di vettori o matrici sono definite come in algebra matriciale operazioni elemento a elemento: i vettori (o matrici) operandi devono quindi avere uguali dimensioni il vettore (o matrice) risultante è dato dalla somma o sottrazione elemento a elemento dei vettori (o matrici) addendi » r_x = 1:4 r_x = » r_y = 10:10:40 r_y = » r_z = r_x + r_y r_z = » r_x = 1:3; r_y = 10:10:40; » r_z = r_x + r_y ??? Error using ==> + Matrix dimensions must agree. Matlab restituisce un messaggio di errore se si cerca di sommare o sottrarre vettori con dimensioni non corrette

25 Università degli Studi di Bari Laurea in Chimica Di spense di Informatica - Dott. F. Mavelli 25 (*) Prodotto righe per colonne Il prodotto fra vettori segue le regole dellalgebra matriciale due vettori possono essere moltiplicati con loperatore * solo se: » r_x = 1:4; r_x = » c_y = [10;20;30; 40] c_y = » z = r_x * c_y z = 300 » m_z = c_y * r_x m_z = Possono essere moltiplicati fra loro con *: Vettore Colonna * Vettore Riga Matrice Vettore Riga * Vettore Colonna Scalare il numero di colonne del primo vettore è uguale al numero di righe del secondo, il prodotto è effettuato righe per colonne.

26 Università degli Studi di Bari Laurea in Chimica Di spense di Informatica - Dott. F. Mavelli 26 (*) Prodotto Righe per Colonne Se si cerca di moltiplicare due matrici di dimensioni non corrette: allora Matlab restituisce un messaggio di errore » r_x = 1:4; r_x = » r_y = [ ] r_y = » r_y * r_x ??? Error using ==> * Inner matrix dimensions must agree. r_y (1 4) * r_x (1 4) ??? Errore usando ==> * Le dimensioni interne delle matrici devono essere uguali

27 Università degli Studi di Bari Laurea in Chimica Di spense di Informatica - Dott. F. Mavelli Operazioni fra Vettori e Matrici Operatori elemento a elemento

28 Università degli Studi di Bari Laurea in Chimica Di spense di Informatica - Dott. F. Mavelli 28 (.*) Prodotto Elemento a Elemento In Matlab è definita anche loperazione Prodotto elemento a elemento che segue quindi le stesse regole della somma e della sottrazione: i vettori operandi devono avere uguali dimensioni il vettore risultante è dato dal prodotto elemento a elemento dei vettori operandi » r_x = 1:4 r_x = » r_y = 10:10:40 r_y = » r_z = r_x.* r_y r_z = In Matlab loperatore punto. forza unoperazione matriciale di moltiplicazione (.*), divisione (./) e elevamento a potenza (.^) ad essere effettuata in modalità elemento a elemento.

29 Università degli Studi di Bari Laurea in Chimica Di spense di Informatica - Dott. F. Mavelli 29 (./) Divisione Elemento a Elemento Anche la Divisione fra due vettori, in Matlab, può essere effettuata elemento a elemento utilizzando loperatore (./): i vettori operandi devono avere uguali dimensioni il vettore risultante è dato dalla divisione elemento a elemento dei vettori operandi » r_x = 1:4 r_x = » r_y = 10:10:40 r_y = » r_z = r_x./ r_y r_z = Utilizzando loperatore./ è anche possibile effettuare la divisione di uno scalare per un vettore dividendo lo scalare per i singoli elementi del vettore divisore » r_x = 1:4; » r_y = 1./r_x r_y =

30 Università degli Studi di Bari Laurea in Chimica Di spense di Informatica - Dott. F. Mavelli 30 (.^) Elevamento a Potenza Elemento a Elemento lelevamento a potenza di uno scalare a tutti i valori di un vettore, presi come esponenti; » r_x = 1:4 r_x = » r_z = 2.^ r_x r_z = » r_y = r_x.^2 r_y = » r_q = r_x.^[ ] r_q = Lelevamento a potenza elemento a elemento (.^) permette di calcolare: lelevamento a potenza di tutti gli elementi di un vettore ad uno stesso esponente scalare; lelevamento a potenza degli elementi di un vettore agli elementi si un altro vettore presi come esponenti, 1 2 3

31 Università degli Studi di Bari Laurea in Chimica Di spense di Informatica - Dott. F. Mavelli 31 Operazioni Elemento a Elemento Nelle Operazioni elemento a elemento le matrici o i vettori operandi devono avere uguali dimensioni, ossia devono essere uguali sia il numero delle righe che delle colonne. » r_x = 1:4; r_x = » c_y = [10; 20; 30; 40] c_y = » r_y.* c_x ??? Error using ==>.* Matrix dimensions must agree. r_y (1 4).* c_x (4 1) ??? Errore usando ==> * Le dimensioni delle matrici devono essere uguali

32 Università degli Studi di Bari Laurea in Chimica Di spense di Informatica - Dott. F. Mavelli 32 Verifica Si creino due matrici rettangolari con il comando rand e si verifichino le regole di addizione sottrazione prodotto. Si creino due matrice quadrate con il comando rand e si verifichi la regola di divisione

33 Università degli Studi di Bari Laurea in Chimica Di spense di Informatica - Dott. F. Mavelli Riepilogo Operazioni in Matlab fra variabili numeriche

34 Università degli Studi di Bari Laurea in Chimica Di spense di Informatica - Dott. F. Mavelli 34 OperazioniModalitàCommutaRequisiti Somma s+m_A elemento a elementoSI Differenza s-m_A elemento a elementoSI Prodotto s*m_A elemento a elementoSI Divisione m_A/s elemento a elementoNO Elevamento a potenza m_A^s elemento a elementoNOsolo matrici quadrate Operazioni Matlab: Scalare-Matrice Un operatore binario commuta se il risultato non cambia invertendo lordine degli operandi s + m_A = m_A + s

35 Università degli Studi di Bari Laurea in Chimica Di spense di Informatica - Dott. F. Mavelli 35 OperazioniModalitàCommutaRequisiti Somma m_A+m_B elemento a elementoSI matrici di uguali dimensioni Differenza m_A-m_B elemento a elementoSI matrici di uguali dimensioni Prodotto m_A*m_B righe per colonneNO m_A m_B N. colonne di m_A = N. righe di m_B Divisione m_A/m_Bm_A*inv(m_B) NO m_Am_B m_B m_A e m_B quadrate m_B dotata di inversa Operazioni Matlab: Matrice-Matrice

36 Università degli Studi di Bari Laurea in Chimica Di spense di Informatica - Dott. F. Mavelli 36 Operazioni matrice scalare ModalitàCommutaRequisiti Divisione s./m_A elemento a elementoNO Operazionimatrice-matriceModalitàCommutaRequisiti Prodotto m_A.*m_B elemento a elementoSImatrici di uguali dimensioni Divisione m_A./m_B elemento a elementoNOmatrici di uguali dimensioni Elevamento a potenza m_A.^m_B elemento a elementoNOmatrici di uguali dimensioni Operazioni Matlab aggiuntive


Scaricare ppt "Università degli Studi di Bari Laurea in Chimica Di spense di Informatica - Dott. F. Mavelli Lezione 4 Vettori e Matrici Parte II."

Presentazioni simili


Annunci Google