MATLAB
Cristina Campi
[email protected]
Outline
Introduzione a Matlab
 Matrici
 Esercizi

MATLAB


MATrix LABoratory
Linguaggio di programmazione interpretato
 legge un comando per volta eseguendolo
immediatamente
MATLAB come calcolatrice
4+7
invio
è possibile definire variabili e operare su esse
x = 9 -> invio
Comandi elementari I
Operatori aritmetici + - * / ^
 Caratteri speciali
; % :
 Variabili predefinite i, pi, NaN, Inf
 2/0 ->
Inf
 0/0 ->
NaN (Not-a-Number)

Comandi elementari II

Funzioni elementari:
sin, cos, log, exp
Comandi speciali:
clear, clc
help

lookfor


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

vettori colonna -> matrici n x 1 v = (v1,…, vn)T

matrici -> matrici m x n
v = (v1,…, vn)
 a11  a1n 


A


 a a 
mn 
 m1
Vettori

Per definire un vettore riga
a = [1 2 3 4 5]
o
a = [1, 2, 3, 4, 5]

Per definire un vettore colonna
a = [1; 2; 3; 4; 5]
o
a = [1 2 3 4 5] ’
per separare
le righe
trasposto
Matrici
Per definire una matrice:
3 0
  R 22
A  
1 2 
 3 0 3
  R 23
B  
1 2 0 
A = [3 0; 1 2]
A = [3 0
1 2]
B = [3 0 3; 1 2 0]
size(B) -> dimensioni della matrice
[r c] = size(B) per memorizzare le dimesioni
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
Esercizio 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]
Individuare\modificare
elementi
 3 0 3
  R 23
B  
1 2 0 
B(2,3)
B(2,3) = 1;
B
per selezionare un elemento
per modificare l’elemento
per visualizzare B
Estrarre sottomatrici
 3 0 3
  R 23
B  
1 2 0 
B(2,:)
estrarre la riga R2
B(:,2)
estrarre la colonna C2
B(:,2:3)
B(:,[2 3])
sottomatrice 2 x 2
Matrici diagonali
3 0
22
  R
A  
1 2 
diagonale di A -> d = diag(A) con d
vettore colonna
B = diag(d) ->
3 0 

B  
 0 2
Matrici triangolari
3 0
22


A
R

1 2 
 3 0 3
23
  R
B  
1 2 0 
matrice triangolare inferiore
tril(A)
matrice triangolare superiore
triu(B)
Matrici notevoli
identità di ordine n
->
eye(n)
matrice nulla m x n
->
zeros(m,n)
matrice m x n di 1
->
ones(m,n)
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
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];
Operazioni - somma
A+B
Somma / Differenza
A-B
A+C
Trasposta
A’
??? Error using = => +
Matrix dimensions
must
agree.
Operazioni - prodotto
1
A  
3
Prodotto
Elemento per
elemento
Prodotto per
uno scalare
2

4
 1 0

B  
 1 1 
A*B
#CA = #RB
A.*B
size(A) = size(B)
A*k
Determinante
 1 0

B  
 1 1 
 3 4  1


D  5 2 3 
 0 1  1


Determinante
Rango
Inversa

det(B)
1
det(D) 0
 rank(D) 2

inv(B)
inv(D)
1 0 


1 1 
?
Esercizio 3
1 2

2 4
A  3 6

 
 8 16

1 0

1 0
1 0

 
1 0 
1 0 0

B  0 1 0
0 0 1

0 0 0

0 0 0
0 0 3 
Scarica

Prima lezione