Professional Documents
Culture Documents
Area di Geodesia e
Geomatica
CONTENUTI
Sapienza
Universit di Roma
Area di Geodesia e
Geomatica
INTRODUZIONE
Cos MATLAB?
MATLAB (Matrix Laboratory) un ambiente di calcolo sviluppato alla fine
degli anni '70.
Sapienza
Universit di Roma
Area di Geodesia e
Geomatica
INTRODUZIONE
Interfaccia
Dopo aver lanciato MATLAB
Command Window: la finestra nella quale digitare i comandi e
Area di Geodesia e
Geomatica
Sapienza
Universit di Roma
Area di Geodesia e
Geomatica
INTRODUZIONE
Configurare la path
Molto importante!
Creare una directory dove salvare i propri file
Impostare la path uguale alla directory creata
Sapienza
Universit di Roma
Area di Geodesia e
Geomatica
Operatori aritmetici +, -, *, /, ^,
Caratteri speciali
;, %, :
Inf
0/0 ->
NaN (Not-a-Number)
help, clear
help sqrt
Sapienza
Universit di Roma
Area di Geodesia e
Geomatica
Rappresentazione
format
format short
format long
format short e
format long e
format short g
format long g
Sapienza
Universit di Roma
Area di Geodesia e
Geomatica
OPERAZIONI SU SCALARI
Sapienza
Universit di Roma
Area di Geodesia e
Geomatica
Sapienza
Universit di Roma
Area di Geodesia e
Geomatica
MATRICI
Premesso che MATLAB considera gli scalari come matrici 1x1, le matrici si
assegnano nel seguente modo:
>> A = [1 2 3 4; 5 6 7 8];
2 righe 4 colonne
; per cambiare riga, , per cambiare colonna
Sapienza
Universit di Roma
MATRICI
Dimensione matrici:
>> A = [1 2 3 4; 5 6 7 8];
>> size(A)
Operazioni su matrici:
ans =
24
>> A trasposta
>> v = [1 2 3];
>>inv(A) inversa
>>length (v)
ans =
3
Sapienza
Universit di Roma
Area di Geodesia e
Geomatica
Sapienza
Universit di Roma
SOMMA
DIFFERENZA
>> A+B
>> A-B
ans =
ans =
4 5 7
-2 1 3
11 22 6
9 -22 -4
Area di Geodesia e
Geomatica
MATRICI: MOLTIPLICAZIONE
Moltiplicazione di uno scalare per
una matrice
>> a=2;
>> A.*B
>> A*2
ans =
ans =
2 6 10
10 0 5
6 10
20 0 2
Prodotto matriciale
>> A*B
ans =
19 9 2
32 1 5
Sapienza
Universit di Roma
Area di Geodesia e
Geomatica
MATRICI: ESERCIZIO 1
Definire la matrice dei coefficienti ed il vettore dei termini noti per il seguente
sistema di equazioni e trovarne la soluzione:
Sapienza
Universit di Roma
Area di Geodesia e
Geomatica
Il comando :
Importante per la manipolazione delle matrici
Esempi
generazione di vettori che siano delle progressione
aritmetiche di passo costante
a = [1:10]
b = 1: .2 : 4
c = 3:0
->
c = 3: -1: 1
a = 1:10
Area di Geodesia e
Geomatica
MATRICI: ESERCIZIO 2
Costruire il vettore
v = [1,2,,19,20,20,19,,2,1]
Sapienza
Universit di Roma
Area di Geodesia e
Geomatica
Individuare\modificare elementi
3 0 3
R 23
B
1 2 0
B(2,3)
B(2,3) = 1;
B
Sapienza
Universit di Roma
per visualizzare B
Area di Geodesia e
Geomatica
Estrarre sottomatrici
3 0 3
R 23
B
1 2 0
B(2,:)
B(:,2)
B(:,2:3)
estrarre la riga R2
estrarre la colonna C2
sottomatrice 2 x 2
B(:,[1 3])
Sapienza
Universit di Roma
Area di Geodesia e
Geomatica
Identit-zero-uno
identit di ordine n
->
eye(n)
eye(3)
matrice nulla m x n
->
zeros(m,n)
zeros(2,3)
matrice m x n di 1
->
ones(m,n)
ones(2,3)
Sapienza
Universit di Roma
1 0 0
I 0 1 0
0 0 1
0 0 0
Z
0 0 0
1 1 1
Z
1 1 1
Area di Geodesia e
Geomatica
MATRICI: ESERCIZIO 3
Costruire le matrici A e B
1 24 1
2 21 1
A 3 18 1
8 3 1
0 1
0 4
0 9
0 82
0
B
0
0 0
1 0
0 1
1 1
0 0 0
0 0 0
0 0 3
1 1 1
Estrarre da A 2 sottomatrici:
una costituita dalle ultime 3 colonne
una costituita dalla I e III riga e dalle colonne II e IV
Sapienza
Universit di Roma
Area di Geodesia e
Geomatica
Strutture di controllo
Selezione: istruzione if
Controlla l'esecuzione di un determinato blocco di codice a seconda del valore (vero o falso)
assunto da una certa espressione logica.
if (condizione1)
istruzione1
elseif (condizione2)
istruzione2
elseif (condizione3)
istruzione3
else
istruzione4
end
Sapienza
Universit di Roma
>>a = 5;
>>b = 7;
>>if (a - b) > 0
disp('La differenza ...
maggiore di 0')
else
disp('La differenza ...
minore di 0')
end
Area di Geodesia e
Geomatica
Sapienza
Universit di Roma
Area di Geodesia e
Geomatica
Strutture di controllo
Iterazione: istruzione for e istruzione while
Consente di eseguire un insieme di istruzioni fino a quando non si verifica una data
condizione.
for contatore=inizio:passo:fine
Istruzione1
Istruzione 2
end
while condizione
Istruzione 1
Istruzione 2
end
Sapienza
Universit di Roma
Sapienza
Universit di Roma
x (1)
1.92
x (2)
0.05
x (3)
-2.43
x (4)
-0.02
x (5)
0.09
x (6)
0.85
x (7)
-0.06
Area di Geodesia e
Geomatica
Y=
Sapienza
Universit di Roma
Area di Geodesia e
Geomatica
Grafici in Matlab
Sapienza
Universit di Roma
Area di Geodesia e
Geomatica
La Grafica in Matlab
1. generare i dati
2. scegliere la finestra
3. tracciare il grafico
4. fissare gli assi, la griglia, ecc.
5. inserire le etichette degli assi, il titolo, la legenda
Sapienza
Universit di Roma
Area di Geodesia e
Geomatica
La Grafica in Matlab
I grafici vengono visualizzati in figure
Il comando di base per la grafica plot(y)
visualizza gli elementi del vettore y rispetto agli indici del vettore stesso plot(x,y) visualizza
il vettore y vs. il vettore x
E possibile modificare in modo interattivo laspetto dei grafici mediante il:
Plot Editing Mode
mediante riga di comando
Sapienza
Universit di Roma
Area di Geodesia e
Geomatica
1. Generare i dati
% un oscillatore armonico
t=[0:pi/100:2*pi];
x=cos(t);
y=sin(t);
Sapienza
Universit di Roma
Area di Geodesia e
Geomatica
2. Scegliere la finestra
figure(n) specifica su quale figura lavorare
figure(1)
plot(t,x)
% per disegnare entrambe le funzioni
plot(t,x,t,y)
subplot permette di suddividere la finestra in pi grafici, per visualizzare
contemporaneamente diversi segnali
figure(1)
subplot(211),
subplot(212),
E possibile spezzare la finestra grafica corrente in una matrice [mxn] di sottofinestre grafiche. Il
comando subplot(m,n,k) divide la finestra corrente (ne crea una se non esistono finestre
grafiche) in una matrice [mxn] e fa diventare la k-esima, contata seguendo le righe, la finestra
corrente.
x=0:.1:2*pi;
subplot(2,2,1)
plot(x,sin(x))
subplot(2,2,2)
plot(x,cos(x))
subplot(2,2,3)
plot(x,sin(2*x))
subplot(2,2,4)
plot(x,cos(2*x))
Sapienza
Universit di Roma
Area di Geodesia e
Geomatica
subplot
L'istruzione subplot permette di plottare pi grafici contemporaneamente nella stessa figure.
subplot(m,n,k)
m=righe, n=colonne
k=posizione corrente (per righe)
Esempio: subplot(2,3,1) invia le seguenti istruzioni grafiche (plot etc) nel riquadro in giallo.
Sapienza
Universit di Roma
Area di Geodesia e
Geomatica
subplot
5*X.
15
10000
10
5000
0
0
20
21
40
60
20
40
60
40
60
sin(x)
1
0.5
4
0
2
-0.5
0
-1
0
Sapienza
Universit di Roma
exp(x)
x 10
15000
X=0:0.5:50;
Y1=5*X.^2;Y2=X.^3; Y3=exp(X);Y4=sin(X);
x 10
20
40
60
20
Area di Geodesia e
Geomatica
3. Tracciare il grafico
Esistono diversi comandi per rappresentare i dati:
plot grafico 2D con scala lineare lungo entrambi gli assi
loglog grafico con scale logaritmiche per entrambi gli assi
semilogx grafico con scala logaritmica per lasse x e lineare per lasse y
semilogy grafico con scala logaritmica per lasse y e lineare per lasse x
La struttura dei comandi plot(x1,y1,x2,y2,)
E possibile specificare il colore e il tipo di linea dei grafici (vedi help plot)
Sapienza
Universit di Roma
Area di Geodesia e
Geomatica
xlabel, ylabel
inserisce le etichette negli assi, p.e. per specificare le unit di misura
legend
inserisce la legenda
Sapienza
Universit di Roma
Area di Geodesia e
Geomatica
Propriet e valori
La sintassi di plot nel caso in cui si vogliano utilizzare simboli, colori o tipi diversi di
linee la seguente:
plot (x,y, stile)
Linee
Simboli
Colori
Linea continua -
Punto .
Rosso r
Linea tratteggiata --
Pi +
Verde g
Linea punteggiata :
Cerchio o stella *
Blu b
Croce x
Bianco w
Quadrato s
Magenta m
Plot(x,y,-r,LineWidth,5)
Sapienza
Universit di Roma
Area di Geodesia e
Geomatica
PLOT: ESERCIZIO 7
f ( x) e
x2
cos(x)
nellintervallo [-2,2]
Sapienza
Universit di Roma
Area di Geodesia e
Geomatica
Primo passo
Si determinano i vettori di punti degli assi x e y
x = linspace(0,5,50);
y = linspace(0,5,50);
Sapienza
Universit di Roma
Area di Geodesia e
Geomatica
Terzo passo
Si pu ora denire la funzione:
Z = exp(-(X+Y)/2).*sin(3*X).*sin(3*Y);
Sapienza
Universit di Roma
Area di Geodesia e
Geomatica
Quarto passo
A questo punto possibile tracciare il graco della funzione utilizzando diverse
metodologie:
Sapienza
Universit di Roma
Area di Geodesia e
Geomatica
Sapienza
Universit di Roma
Area di Geodesia e
Geomatica