Escolar Documentos
Profissional Documentos
Cultura Documentos
MO X
SYLL.1 p. 2/3
Riferimenti bibliografici
1. P. Causin, S. Micheletti, R. Sacco, Introduzione alluso di Matlab per il
Calcolo Scientifico, (2000), disponibile sul sito
www1.mate.polimi.it/CN.
2. Tutorial disponibili sul sito www.mathworks.com alla voce Prodotti.
3. Programmi dai testi:
A. Quarteroni, R. Sacco, F. Saleri, Matematica Numerica ,
Seconda Edizione, Springer-Italia, Milano, 2004.
A. Quarteroni, F. Saleri, Introduzione al Calcolo Scientifico ,
Springer-Italia, Milano, 2003.
4. Tutorials e programmi disponibili presso i siti di numerose Facolt
italiane e straniere.
SYLL.1 p. 3/3
Per iniziare...
Matlab (Matrix Laboratory) un ambiente di calcolo sviluppato a partire dagli
anni 70. La struttura di base la matrice, per la quale sono gi predefinite
numerosi tipi elementari (matrice identit, matrice nulla, matrice unit...),
funzioni algebriche e di manipolazione (somma, prodotto, calcolo del
determinante).
1. Per lanciare Matlab da ambiente Windows basta cliccare con il mouse
sullicona corrispondente;
SYLL.1 p. 4/3
SYLL.1 p. 5/3
e
permettono di riposizionare sulla linea di comando il
3. i tasti
cursore e di modificare il testo scritto;
4. con il tasto sinistro del mouse sulla finestra di calcolo si possono
selezionare parti di testo che poi possibile copiare, tagliare ed
incollare sulla linea di comando.
SYLL.1 p. 6/3
x = 1;
a = 3;
z = sqrt(a)-x;
save areawork
save xzarea x z
I file prodotti (binari) hanno estensione .mat. Per ricaricarli nello spazio
di lavoro usiamo il comando load:
>> load areawork
>> load xzarea
SYLL.1 p. 7/3
SYLL.1 p. 8/3
SYLL.1 p. 9/3
Size
4x1
Bytes
Class
32 double array
SYLL.1 p. 10/3
>> b = [1:2:10]
b =
1
3
5
>> b = [10:-3:0]
b =
10
7
4
>> b = [1:1.5:10]
b =
1.0000
2.5000
4.0000
5.5000
7.0000
10
8.5000
10.0000
SYLL.1 p. 11/3
Definizione di matrici
La costruzione delle matrici segue una sintassi simile al caso dei vettori:
>> M = [1 2; 3 4]
M =
1
2
3
4
definisce una matrice quadrata di ordine 2. Osserviamo che:
1. una matrice non altro che una collezione di vettori riga ovvero colonna;
2. in tutte le righe, il numero di componenti deve essere lo stesso! Ad
esempio:
>> M = [1 2; 3 4 5]
??? = [1 2; 3 4 5]
All rows in the bracketed expression must have the same
number of columns.
SYLL.1 p. 12/3
>> b([1:2,6,9:10])
ans =
1
2
6
Transposizione di un vettore:
>> bt = b
>> size(bt)
>> bt
4x1
10
32
double array
SYLL.1 p. 13/3
SYLL.1 p. 14/3
m1
m2
m3
m4
=
=
=
=
1/2
1/3
1/4
1/5
a(1,1);
a(1:2,1:2);
a(1:3,1:3);
a(1:4,1:4);
dm1
dm2
dm3
dm4
1/3
1/4
1/5
1/6
=
=
=
=
1/4
1/5
1/6
1/7
det(m1);
det(m2);
det(m3);
det(m4);
SYLL.1 p. 15/3
9
1
5
10
15
20
SYLL.1 p. 16/3
1
4
27
Se le dimensioni non sono compatibili:
>> c= [1 2];
>> a.*c
Matrix dimensions must agree
SYLL.1 p. 17/3
SYLL.1 p. 18/3
0
5
8
0
0
9
SYLL.1 p. 19/3
>>
>>
>>
>>
>>
>>
>>
>>
A=hilb(12);
b=A*ones(12,1);
[L,U,P]=lu(A);
y=L\(P*b);
x=U\y;
format long e
norm(x-ones(12,1))
cond(A)
SYLL.1 p. 20/3
1
0.8
0.6
0.4
0.2
0
0.2
0.4
0.6
0.8
1
SYLL.1 p. 21/3
SYLL.1 p. 22/3
SYLL.1 p. 23/3
Funzioni simboliche
SYLL.1 p. 24/3
"
utilizzando la griglia di
# &%$
)('
* ,+'
0.5
0.5
2
2
1
1
1
2
SYLL.1 p. 25/3
SYLL.1 p. 26/3
SYLL.1 p. 27/3
SYLL.1 p. 28/3
M-files
I files che contengono codice Matlab sono detti M-files (estensione .m). Essi
possono essere richiamati dal prompt digitandone semplicemente il nome.
Gli M-files si dividono in due categorie:
M-files di tipo scripts: si tratta semplicemente di files che raccolgono in
successione istruzioni come date dalla linea di comando;
SYLL.1 p. 29/3
SYLL.1 p. 30/3
SYLL.1 p. 31/3