Universit degli Studi di Bari Laurea in Chimica
Università degli Studi di Bari Laurea in Chimica Di spense di Informatica - Dott. F. Mavelli Lezione 4 Vettori e Matrici Parte II
Università degli Studi di Bari Laurea in Chimica Di spense di Informatica - Dott. F. Mavelli Matrici: introduzione matematica Cenni di Algebra Matriciale
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: A è una matrice di ordine (n x m) m in quanto è formata da n righe ed m colonne Ogni elemento ai, j della matrice A è contraddistinto da un indice di riga (i) e di colonna (j) che ne individua la posizione all’interno della matrice stessa.
Università degli Studi di Bari Laurea in Chimica Di spense di Informatica - Dott. F. Mavelli 4 Vettori Vengono chiamate vettori quelle matrici che hanno o numero di righe o di colonne unitario: Vettore Colonna Vettore Riga Gli scalari altro non sono che matrici formate da una solo riga ed una sola colonna
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 complesso, il prodotto: x m) ed un numero c, reale o B = c. A è una matrice di ordine (n x m) i cui elementi sono i corrispondenti elementi di A moltiplicati per lo scalare c bi, j = c · ai, j
Università degli Studi di Bari Laurea in Chimica Di spense di Informatica - Dott. F. Mavelli 6 Esempi: c=5
Università degli Studi di Bari Laurea in Chimica Di spense di Informatica - Dott. F. Mavelli 7 Somma Algebrica di Matrici 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: C = B ± A e i cui elementi sono dati dalla somma algebrica elemento degli elementi corrispondenti delle matrici A e B. ci, j = bi, j ± ai, j Due Matrici A e B possono essere sommate o sottratte solo se hanno lo stesso ordine.
Università degli Studi di Bari Laurea in Chimica Di spense di Informatica - Dott. F. Mavelli 8 Esempi: Somma Vettori riga Somma Matrici
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:
Università degli Studi di Bari Laurea in Chimica Di spense di Informatica - Dott. F. Mavelli 10 Prodotto di Matrici 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): C(n m) = A(n s) B(s m) il cui elemento generico ci, 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.
Università degli Studi di Bari Laurea in Chimica Di spense di Informatica - Dott. F. Mavelli 11 Prodotto di Matrici Il prodotto di matrici così definito viene anche detto: prodotto righe per colonne Dimensioni esterne C(n m) = A(n s) B(s m) Dimensioni interne Le dimensioni interne devono essere uguali La matrice risultato C ha le dimensioni esterne
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
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
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. Proprietà della matrice identità Il prodotto della matrice identità E per una qualsiasi matrice quadrata A restituisce la matrice A stessa
Università degli Studi di Bari Laurea in Chimica Di spense di Informatica - Dott. F. Mavelli Matrice Inversa 16 -1 A 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
Università degli Studi di Bari Laurea in Chimica Di spense di Informatica - Dott. F. Mavelli 17 Divisione Date due Matrici A=(ai, j) e B=(bi, j) viene definita l’operazione di divisione della matrice A per B come il prodotto della matrice A per l’inversa 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 dividendo A/B divisore
Università degli Studi di Bari Laurea in Chimica Di spense di Informatica - Dott. F. Mavelli Operazioni Prodotto c. A 18 Requisiti Modalità -- Operazione elemento a elemento ______________________________________________________________________________ Uguali dimensioni: stesso A ± B numero di righe e di colonne Operazione elemento a elemento Prodotto Numero di colonne di A A B uguale al numero di righe di B Prodotto righe per colonne Divisione A/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 potenza An Solo per matrici quadrate A A …(n volte)… A Somma Algebrica
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
Università degli Studi di Bari Laurea in Chimica Di spense di Informatica - Dott. F. Mavelli >> y = 10; >> r_x = 1 : 4 r_x = 20 Operazioni con Scalari N. B. : Si ricordi che in algebra matriciale solo il prodotto scalare per matrice è in realtà definito somma sottraz. 3 >> y - r_x ans = prodot. 2 >> r_x + y ans = >> r_x * y ans = divisione 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. 1 11 9 10 12 8 4 13 7 14 20 6 30 40 0. 3 0. 4 >> r_x / y ans = 0. 1 0. 2
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 somma divisione >> m_x = [1 2; 3 4]; y = 10 >> m_x + y >> m_x / y ans = 11 12 0. 1000 0. 2000 13 14 0. 3000 0. 4000 >> y + m_x >> y / m_x ans = 11 12 ? ? Error using ==> / 13 14 Matrix dimensions must agree. N. B. : E’ possibile dividere un vettore o una matrice per uno scalare, ma non uno scalare per un vettore o una matrice
Università degli Studi di Bari Laurea in Chimica Di spense di Informatica - Dott. F. Mavelli 22 Operazioni fra Vettori e Matrici Matlab permette di effettuare facilmente operazioni fra vettori e matrici rispettando le regole dell’algebra matriciale, ma implementa anche degli operatori che permettono di effettuare operazioni di tipo diverso: Operatori che seguono le regole dell’algebra matriciale L’ Operatore punto ‘. ’ forza le operazioni ad essere effettuate elemento ad elemento • • (+) Somma (-) Sottrazione (*) Prodotto Righe per Colonne (/) Divisione: matrici non singolari • (. *) Prodotto elemento a elemento • (. /) Divisione elemento a elemento • (. ^) Elevamento a Potenza elemento
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 dell’algebra matriciale
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: » r_x = 1: 4 r_x = 1 2 3 4 • i vettori (o matrici) operandi devono quindi avere uguali dimensioni » r_y = 10: 40 r_y = 10 20 30 40 • il vettore (o matrice) risultante è dato dalla somma o sottrazione elemento a elemento dei vettori (o matrici) addendi » r_z = r_x + r_y r_z = 11 22 33 44 Matlab restituisce un messaggio di errore se si cerca di sommare o sottrarre vettori con dimensioni non corrette » r_x = 1: 3; r_y = 10: 40; » r_z = r_x + r_y ? ? ? Error using ==> + Matrix dimensions must agree.
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 dell’algebra matriciale due vettori possono essere moltiplicati con l’operatore * solo se: • il numero di colonne del primo vettore è uguale al numero di righe del secondo, • il prodotto è effettuato righe per colonne. Possono essere moltiplicati fra loro con *: Vettore Riga * Vettore Colonna Scalare Vettore Colonna * Vettore Riga Matrice » r_x = 1: 4; r_x = 1 2 3 4 » c_y = [10; 20; 30; 40] c_y = 10 20 30 40 » z = r_x * c_y z = 300 » m_z = c_y * r_x m_z = 10 20 30 40 20 40 60 80 30 60 90 120 40 80 120 160
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_y(1 4) * r_x(1 4) » r_x = 1: 4; r_x = 1 2 3 4 » r_y = [10 20 30 40] r_y = 10 20 30 40 » r_y * r_x ? ? ? Error using ==> * Inner matrix dimensions must agree. ? ? ? Errore usando ==> * Le dimensioni interne delle matrici devono essere uguali
Università degli Studi di Bari Laurea in Chimica Di spense di Informatica - Dott. F. Mavelli Operazioni fra Vettori e Matrici Operatori elemento a elemento
Università degli Studi di Bari Laurea in Chimica Di spense di Informatica - Dott. F. Mavelli 28 (. *) Prodotto Elemento a Elemento In Matlab è definita anche l’operazione Prodotto elemento a elemento che segue quindi le stesse regole della somma e della sottrazione: » r_x = 1: 4 r_x = 1 2 3 4 • i vettori operandi devono avere uguali dimensioni » r_y = 10: 40 r_y = 10 20 30 40 • il vettore risultante è dato dal prodotto elemento a elemento dei vettori operandi » r_z = r_x. * r_y r_z = 10 40 90 160 In Matlab l’operatore punto “. ” forza un’operazione matriciale di moltiplicazione (. *), divisione (. /) e elevamento a potenza (. ^) ad essere effettuata in modalità elemento a elemento.
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 utilizzando l’operatore (. /): • i vettori operandi devono avere uguali dimensioni • il vettore risultante è dato dalla divisione elemento a elemento dei vettori operandi Utilizzando l’operatore. / è 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_x = 1 2 3 4 » r_y = 10: 40 r_y = 10 20 30 40 » r_z = r_x. / r_y r_z = 0. 1 » r_x = 1: 4; » r_y = 1. /r_x r_y = 1. 0000 0. 5000 0. 3333 0. 2500
Università degli Studi di Bari Laurea in Chimica Di spense di Informatica - Dott. F. Mavelli 30 (. ^) Elevamento a Potenza Elemento L’elevamento a potenza elemento (. ^) permette di calcolare: » r_x = 1: 4 r_x = 1 2 3 4 1 l’elevamento a potenza di tutti gli elementi di un vettore ad uno stesso esponente scalare; » r_y = r_x. ^2 r_y = 1 4 9 16 2 l’elevamento a potenza di uno scalare a tutti i valori di un vettore, presi come esponenti; » r_z = 2. ^ r_x r_z = 2 4 8 16 3 l’elevamento a potenza degli elementi di un vettore agli elementi si un altro vettore presi come esponenti, » r_q = r_x. ^[1 2 3 2] r_q = 1 4 27 16
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_y(1 4). * c_x(4 1) » r_x = 1: 4; r_x = 1 2 3 4 » c_y = [10; 20; 30; 40] c_y = 10 20 30 40 » r_y. * c_x ? ? ? Error using ==>. * Matrix dimensions must agree. ? ? ? Errore usando ==> * Le dimensioni delle matrici devono essere uguali
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
Università degli Studi di Bari Laurea in Chimica Di spense di Informatica - Dott. F. Mavelli Riepilogo Operazioni in Matlab fra variabili numeriche
Università degli Studi di Bari Laurea in Chimica Di spense di Informatica - Dott. F. Mavelli 34 Operazioni Matlab: Scalare-Matrice Operazioni Modalità Commuta Somma s+m_A elemento a elemento SI Differenza s-m_A elemento a elemento SI Prodotto s*m_A elemento a elemento SI Divisione m_A/s elemento a elemento NO Elevamento a potenza m_A^s elemento a elemento NO Un operatore binario commuta se il risultato non cambia invertendo l’ordine degli operandi Requisiti solo matrici quadrate s + m_A = m_A + s
Università degli Studi di Bari Laurea in Chimica Di spense di Informatica - Dott. F. Mavelli 35 Operazioni Matlab: Matrice-Matrice Operazioni Commuta Requisiti m_A+m_B elemento a elemento SI matrici di uguali dimensioni Differenza m_A-m_B elemento a elemento SI matrici di uguali dimensioni Somma Modalità Prodotto m_A*m_B righe per colonne NO N. colonne di m_A = N. righe di m_B Divisione m_A/m_B m_A*inv(m_B) NO m_A e m_B quadrate m_B dotata di inversa
Università degli Studi di Bari Laurea in Chimica Di spense di Informatica - Dott. F. Mavelli 36 Operazioni Matlab aggiuntive Operazioni matrice scalare Divisione s. /m_A Operazioni matrice-matrice Modalità Commuta elemento NO Modalità Commuta Requisiti Prodotto m_A. *m_B elemento a elemento SI matrici di uguali dimensioni Divisione m_A. /m_B elemento a elemento NO matrici di uguali dimensioni Elevamento m_A. ^m_B a potenza elemento NO matrici di uguali dimensioni
- Slides: 35