ml - Introduzione interattiva di MATLAB       Vai all'indice del corso

Costruzione e modifica di matrici
Versione 0.8

Indice del modulo

1mam.10 - Matrici definite assegnando i singoli componenti
1mam.11 - Matrice ottenuta assegnando due suoi componenti
1mam.17 - Function size applicata a matrici
1mam.18 - Matrice costruita mediante la function size
1mam.30 - Estrazione di singoli componenti, righe, colonne e totalita` dei componenti di una matrice
1mam.31 - Scalari e vettori ricavati da una matrice
1mam.32 - L'operatore `` : ``
1mam.33 - Sequenzializzazione dei componenti di una matrice
1mam.34 - I componenti di una matrice per colonne in una riga
1mam.35 - I componenti di una matrice per righe in una riga
1mam.37 - La diagonale principale di una matrice
1mam.60 - Matrici ottenute per riduzione di altra matrice
1mam.62 - Minore complementare di un componente di matrice
1mam.63 - Complemento algebrico di una componentedi una matrice

torna all'indice del modulo - del corso

1mam.10 - Matrici definite assegnando le singole componenti

Una matrice può essere definita in molti modi, alcuni già visti ed altri ancora, in accordo con la tendenza di MATLAB di interpretare il piu` possibile le richieste espresse dagli utenti. Per esempio se si digita R(nr,nc)=v, il programma Matlab confeziona una matrice di aspetto nr x nc avente tutti gli elementi nulli ad eccezione di quello nella casella appartenente alla riga nr ed alla colonna nc. il quale vale v. Se successivamente si digita un comando come R(nr+a,nc+b)=w con a e b interi, almeno uno dei quali positivo, vengono ridefinite le dimensioni della matrice aggiungendole a righe se a>0 e b colonne se b>0 con un solo componente diverso da 0 ed uguale a w, quello della riga nr+a e della riga nc+b

torna all'indice del modulo - del corso

1mam.11 - Matrice ottenuta assegnando due sue componenti

Considera le matrici ottenute digitando R(5,4)=3 e successivamente R(6,5)=1.

>> R(5,4)=3
R =
 0 0 0 0
 0 0 0 0
 0 0 0 0
 0 0 0 0
 0 0 0 3
>> R(6,5)=1
R =
 0 0 0 0 0
 0 0 0 0 0
 0 0 0 0 0
 0 0 0 0 0
 0 0 0 3 0
 0 0 0 0 1

torna all'indice del modulo - del corso

1mam.30 - Estrazione di singoli componenti, righe, colonne e totalita` degli elementi di una matrice

Gli indici di un componente di una matrice sono ordinatamente il numero della sua riga e quello della sua colonna. Per utilizzare il solo componente della riga r e della colonna c di una matrice M si usa la notazione M(r,c); per disporre della sequenza di tutti i componenti della colonna c di M si scrive invece M(:,c), mentre per richiamare tutti i componenti della sua riga r si scrive M(r,:). Inoltre una espressione come M(:) rende disponibili allineati su un'unica colonna tutti i componenti della matrice considerati per colonne.

torna all'indice del modulo - del corso

1mam.17 - Function size applicata a matrici

Le dimensioni di una matrice nr x nc possono essere fornite in un vettore di tipo 1 x 2 dalla function size :

>> D = size(MatTrasp)
D =
 5 3

Questi due valori interi possono essere assegnati a due variabili scalari con una assegnazione come la seguente :

>> [nr nc] = size(MatTrasp)
nr =
 5
nc =
 3

Osserviamo che il primo membro della precedente assegnazione e` costituito da un vettore delimitato dalle parentesi quadrate i cui componenti sono delle variabili.

torna all'indice del modulo - del corso

1mam.18 - Matrice costruita mediante la function size

Vettori 1 x 2 come il precedente possono essere utilizzati per costruire matrici.

Ricava le dimensioni di MatTrasp, MatSimm e Mat servendoti della size raccogliendole in una matrice di tipo 3 x 2:

>> Dim = [ size(MatTrasp); size(MatSimm); size(Mat) ]
Dim =
 5 3
 3 3
 3 5

torna all'indice del modulo - del corso

1mam.31 - Scalari e vettori ricavati da una matrice

Considera la matrice a posizioni evidenti Mpe43
Poni in El32 l'componente della terza riga e della seconda colonna della Mpe43
Calcola nella variabile S la somma degli elementi della Mpe43 i cui indici hanno somma 3
Memorizza nella variabile VCol tutti gli elementi della seconda colonna della stessa matrice.
Poni nella variabile VRig tutti gli elementi della terza riga della Mpe53.

>>Mpe53=[11 12 13 ; 21 22 23; 31 32 33 ; 41 42 43];
>> El32=Mpe53(3,2)
El32 =
 32
>> S=Mpe53(3,1)+Mpe53(2,2)+Mpe53(1,3)
S =
 66
>> VCol=Mpe53(:,2)
VCol =
 12
 22
 32
>> VRig=Mpe53(3,:)
VRig =
 31 32 33

torna all'indice del modulo - del corso

1mam.32 - L'operatore `` : ``

In MATLAB il simbolo `` : `` consente di richiedere operazioni di scorrimento di valori numerici progressivi e puo` essere usato per svariati scopi. Fondamentalmente consente di individuare progressioni numeriche da porre in vettori. Mediante progressioni espresse esplicitamente o sinteticamente permette di selezionare e riordinare gli elementi dei vettori e delle matrici.

torna all'indice del modulo - del corso

1mam.33 - Sequenzializzazione dei componenti di una matrice

Disponi su un'unica colonna i componenti della matrice a posizioni evidenti di aspetto 5 x 3 considerati per colonne.

>> A=[11:10:51];
>> B=A+1; C=A+2; 
>> Mpe53 = (A,B,C)'
Mpe53 =
 11 12 13
 21 22 23
 31 32 33
 41 42 43
 51 52 53
>> Mpe53(:)
ans =
 11
 21
 31
 41
 51
 12
 22
 32
 42
 52
 13
 23
 33
 43
 53

torna all'indice del modulo - del corso

1mam.34 - I componenti di una matrice per colonne collocati in una riga

Disponi su un'unica riga le colonne della matrice Mpe53.

>> Mpe53(:)'
ans =
 Columns 1 through 12 
 11 21 31 41  51 12 22 32 42 52  13  23
 Columns 13 through 15 
 33 34 35

torna all'indice del modulo - del corso

1mam.35 - I componenti di una matrice per righe collocati in una riga

Disponi su un'unica riga le righe della matrice Mpe53.

>> Mpe53tr = Mpe53';
>> Mpe53tr(:)'
ans =
 Columns 1 through 12 
 11 12 13 21 22 23 31 32 33 41 42 43
 Columns 13 through 15 
 51 52 53

torna all'indice del modulo - del corso

1mam.37 - La diagonale principale di una matrice

La function diag consente di disporre della sequenza dei componenti sulla diagonale principale di una matrice, cioe` dei componenti richiamati da scritture della forma M(i,i).

Disponi su un'unica riga la diagonale della matrice Mpe53.

>> dia = diag(Mpe53);
  dia =
  11 22 33 

torna all'indice del modulo - del corso

1mam.60 - Matrici ottenute per riduzione di altra matrice

Da una matrice si possono ricavare facilmente matrici individuate considerando solo una selezione delle sue righe e/o una selezione delle sue colonne: per questo si devono porre come suoi argomenti tra parentesi tonde le espressioni delle sequenze delle righe e/o delle colonne da selezionare.

Ridurre la matrice a posizioni evidenti di tipo 4 x 6 eliminando le sue colonne 4 e 5 e la sua riga 2

>> A = [11:16]; B=A+10; C=A+20; D=A+30;
>> Mpe46 = [A;B;C;D]
Mpe46 =
 11 12 13 14 15 16
 21 22 23 24 25 26 
 31 32 33 34 35 36
 41 42 43 44 45 46
>> MRid = Mpe46((1,3:4),(1:3,6)) 
MRid =
 11 12 13 16
 31 32 33 36
 41 42 43 46
>> s=[11:16]; s2=s+10; s3=s+20
s3 =
 31 32 33 34 35 36
>> s4=s+30; s5=s+40
s5 =
 51 52 53 54 55 56
>> m = [s;s2;s3;s4;s5]
m =
 11 12 13 14 15 16
 21 22 23 24 25 26
 31 32 33 34 35 36
 41 42 43 44 45 46
 51 52 53 54 55 56
>> m(:,(6:-1:1))
ans =
 16 15 14 13 12 11
 26 25 24 23 22 21
 36 35 34 33 32 31
 46 45 44 43 42 41
 56 55 54 53 52 51
>> m((5:-1:1),:)
ans =
 51 52 53 54 55 56
 41 42 43 44 45 46
 31 32 33 34 35 36
 21 22 23 24 25 26
 11 12 13 14 15 16
>> m((5:-1:1),(6:-1:1))
ans =
 56 55 54 53 52 51
 46 45 44 43 42 41
 36 35 34 33 32 31
 26 25 24 23 22 21
 16 15 14 13 12 11
>> 

torna all'indice del modulo - del corso

1mam.62 - Minore complementare di un componente di matrice

Con una manovra del genere precedente si puo` ottenere il minore complementare di un componente di una matrice.

Costruire il minore complementare del componente (2,3) della matrice a posizioni evidenti 5 x 5.

>> A = [11:15]; B=A+10; C=A+20; D=A+30; E=A+40;
>> M55 = [A;B;C;D;E]
>> M55 =
M55 =
 11 12 13 14 15 
 21 22 23 24 25 
 31 32 33 34 35  
 41 42 43 44 45  
 51 52 53 54 55  
>> M55Mnr23 = M55((1,3:5),(1:2,4:5)) 
M55Mnr23 =
 11 12 14 15 
 31 32 34 35  
 41 42 44 45  
 51 52 54 55  

torna all'indice del modulo - del corso

1mam.63 - Complemento algebrico di un componente di una matrice

Con un ulteriore prodotto si puo` ottenere il complemento algebrico di un componente di una matrice.

Costruire il complemento algebrico del componente (3,2) della matrice Mpe55.

>> Mpe55Ca32 = (-1)^(2+3) * Mpe55((1:2,4:5),(1,3:5)) 
Mpe55Ca32 =
 -11 -12 -13 -15 
 -21 -22 -23 -25  
 -41 -42 -43 -45  
 -51 -52 -53 -55  

torna all'indice del modulo - del corso