Matlab: Variabili e Array - Politecnico di...
Transcript of Matlab: Variabili e Array - Politecnico di...
Informatica B ndash AA 2008-2009
Matlab Variabili e ArrayInformatica B
Informatica B ndash AA 2008-2009
Array e variabili
Lrsquounitagrave fondamentale di dati in MATLAB egrave lrsquoarrayUna variabile in MATLAB egrave una regione di memoria checontiene un arrayHa un nome definito dallrsquoutente
Per i nomi valgono regole simili a quelle del CIl C egrave un linguaggio a tipizzazione forte
Le variabili vanno dichiarate prima dellrsquousoIl MATLAB egrave un linguaggio a tipizzazione debole
Le variabili vengono create assegnando ad esse dei valoriIl loro tipo egrave determinato dal tipo dei valori assegnati
Informatica B ndash AA 2008-2009
Array e Variabili (2)
Scalari
a = 3b = 55
Array
a=[3 4 2 3]
Matrice
a = [3 4 2 4 5 6]
nome = valore
nome = [v1 v2 hellip vn]
nome = [v11 v12 hellipv1nhellipvm1 vm2 hellip vmn]
3 4 24 5 6
Informatica B ndash AA 2008-2009
Tipo double
Una variabile di tipo double contiene uno scalare o un array di numeri espressi in 64 bit con doppia precisioneQuesti numeri possono essere
Reali es var1 = -107Immaginari es var2 = 4i var3 = 4jComplessi es var3 = 103 + 10i
Es x = [-13 31+53j 0]Le parti reali e immaginarie possono essere positive e negative nellrsquointervallo di valori [10-308 10308] con accuratezza di 15-16 cifre decimali
Informatica B ndash AA 2008-2009
Tipo char
Una variabile di tipo char contiene uno scalare o un arraydi valori a 16 bit ciascuno dei quali rappresenta un carattere
Es commento = lsquoquesta egrave una stringarsquo
Nome della variabile Array di 1x21 caratteri
Informatica B ndash AA 2008-2009
Creazione ed inizializzazione di unavariabile
Le variabili sono create al momento dellrsquoinizializzazioneModi di inizializzazione
AssegnamentoLettura dati da tastieraLettura da file
Informatica B ndash AA 2008-2009
Assegnamento
variabile = espressioneEsempi
a = [0 7+1]b = [a(2) 5 a]
Risultatoa = [0 8]b = [8 5 0 8]
Non tutti gli elementi devono essere specificati allacreazionehellip
c(2 3) = 5
secondo elemento di a
contenuto di a
0 0 00 0 5
Informatica B ndash AA 2008-2009
Assegnamento (2)
Lrsquoarray puograve essere esteso successivamente hellipd = [2 5] d(4)=2 d = [2 5 0 2]
Operatore di trasposizioneg = drsquo 2
502
Come evitare di enumerare esplicitamente tutti i valori uso dellrsquooperatore
x = 1210 x = [1 3 5 7 9]l = 13m = [lrsquo lrsquo]
1 12 23 3
Informatica B ndash AA 2008-2009
Assegnamento (3) ndash funzioni predefinite
Funzione Significato
zeros (n) Genera una matrice nxn di zeri
zeros (mn) Genera una matrice mxn di zeri
zeros (size(arr)) Genera una matrice di zeri dellastessa dimensione di arr
ones(n) Genera una matrice nxn di uno
ones(mn) Genera una matrice mxn di uno
ones(size(arr)) Genera una matrice di uno dellastessa dimensione di arr
eye(n) Genera la matrice identitagrave nxn
eye(mn) Genera la matrice identitagrave mxn
length(arr) Ritorna la dimensione piugrave lunga del vettore
size(arr) Ritorna il numero di righe e colonnedellrsquoarray
Informatica B ndash AA 2008-2009
Assegnamento (4) ndash funzioni predefinite
Esempia = zeros(2)
b = zeros(23)
c = [1 2 3 4]d = zeros(size(c))
0 00 0
0 0 00 0 0
0 00 0
Informatica B ndash AA 2008-2009
Assegnamento (5) ndash uso di uno scalare per assegnare valori ad un array
Esempiom(14 13) = 3
Regola il modo con cui uno scalare viene assegnato ad un array dipende dalla forma dellrsquoarray che viene specificata a sinistra dellrsquoassegnamentoEsempio 2
m(12 12) = 4
hellip la regola si applica anche ai sottoarray
3 3 33 3 33 3 33 3 3
4 4 34 4 33 3 33 3 3
Informatica B ndash AA 2008-2009
Variabili predefinite
Matlab definisce un insieme di variabili predefinite (es pi)Queste variabili corrispondono in qualche caso a costanti
Attenzione Il valore di queste variabili puograve essere modificato per esempio
bull circ1=2pi10bull pi = 3bull circ2=2pi10
Il valore di circ2 non saragrave piugrave la circonferenza di un cerchio
E` fortemente sconsigliato modificare il valore di unavariabile predefinita
Informatica B ndash AA 2008-2009
Variabili predefinite piugrave comuni
Variabile Scopo
pi contiene 15 cifre significative di π
i j contiene il valore i ( )
inf (o Inf) rappresentazione dellrsquoinfinito(ottenuto di solito come risultato diuna divisione per 0)
nan Not-A-Number egrave il risultato di unaoperazione matematica non definita es 00
clock contiene la data e lrsquoorario corrente E` un vettore di sei elementi (anno mese giorno ora minuti secondi)
date contiene la data corrente sotto forma di stringa
eps epsilon la piugrave piccola differenzarappresentabile tra due numeri
ans Variabile speciale usata per immagazzinare risultati non assegnati ad altre variabili
1minus
Informatica B ndash AA 2008-2009
Operazioni per gli scalari + - ^Operazioni per gli array
Array operation viene eseguita sugli elementi degli array coinvolti (devono avere lo stesso numero di righe e colonne)
a= b= a+b = ab=
Matrix operation segue le regole dellrsquoalgebra lineare
a= b= ab =
Operazioni con scalari e array
1 23 4
2 35 7
3 58 11
2 615 28
1 23 4
2 35 7
12 1726 37 sumk
kjik ba
Informatica B ndash AA 2008-2009
Operazioni tipiche per gli array
Operazione SintassiMatlab
Commenti
Array addition a + b Array e matrix addition sonoidentiche
Array subtraction a ndash b Array e matrix subtraction sono identiche
Array multiplication a b Ciascun elemento del risultatoegrave pari al prodotto deglielementi corrispondenti nei due operandi
Matrix multiplication a b Prodotto di matrici
Array right division a b risultato(ij)=a(ij)b(ij)
Array left division a b risultato(ij)=b(ij)a(ij)
Matrix right division a b ainversa(b)
Matrix left division a b inversa(a)b
Array exponentiation
a ^ b risultato(ij)=a(ij)^b(ij)
Informatica B ndash AA 2008-2009
Matrix left division
Serve per risolvere sistemi di equazioni linearia11x1+a12x2+a13x3=b1
a21x1+a22x2+a23x3=b2
a31x1+a32x2+a33x3=b3
puograve essere espresso come Ax=B con
A = B= x =
di conseguenza x = A-1B=AB
a11 a12 a13a21 a22 a23a31 a32 a33
b1b2b3
x1x2x3
Informatica B ndash AA 2008-2009
Altre funzioni
Funzione Scopo
ceil(x) approssima x allrsquointeroimmediatamente maggiore
floor(x) approssima x allrsquointeroimmediatamente minore
fix(x) approssima x allrsquointero piugrave vicinoverso lo zero
max(x) ritorna il valore massimo nel vettorex e opzionalmente la collocazionedi questo valore in x
min(x) ritorna il valore minimo nel vettore x e opzionalmente la collocazione diquesto valore nel vettore
mod(mn) mod(xy) egrave x - ny dove n = floor(xy) se y ~= 0
round(x) approssima x allrsquointero piugrave vicino
rand(N) genera una matrice di NxN numericasuali
Informatica B ndash AA 2008-2009
Diagrammi a due dimensioni
Diagramma = insieme di coppie che rappresentano coordinate di puntiSi usano vettori per contenere sequenze ordinate dei valori di ognuna delle coordinateplot(xy) disegna digramma cartesiano dei punti che hanno
valori delle ascisse in x delle ordinate in y e li congiunge con una linea per dare continuitagrave al grafico
funzioni xlabel per visualizzare nome asse ascisse ylabel per ordinate title per il titolo
-10 -8 -6 -4 -2 0 2 4 6 8 10-1000
-800
-600
-400
-200
0
200
400
600
800
1000
ascisse
ordi
nate
cubica
Informatica B ndash AA 2008-2009
Un esempio di cinematica
Due treni partono da due stazioni adiacenti che distano 15km viaggiando a velocitagrave di 50ms e 30ms in direzione oppostaCostruire un grafico che mostra il loro movimento fino a quando il piugrave veloce raggiunge la destinazione
Il piugrave veloce impiega 1500050=300sbull DistanzaTreno1=50t bull DistranzaTreno2=15000-30t (per mostrare la
provenienza dalla direzione opposta)
Informatica B ndash AA 2008-2009
Soluzione
t=01300p1=50 tp2=15000-30 tplot(tp1)hold on adesso egrave possibile inserire nuove curve sul grafico
plot(tp2)hold off
Informatica B ndash AA 2008-2009
Risultati ottenuti con lrsquoesempio
Informatica B ndash AA 2008-2009
Array e variabili
Lrsquounitagrave fondamentale di dati in MATLAB egrave lrsquoarrayUna variabile in MATLAB egrave una regione di memoria checontiene un arrayHa un nome definito dallrsquoutente
Per i nomi valgono regole simili a quelle del CIl C egrave un linguaggio a tipizzazione forte
Le variabili vanno dichiarate prima dellrsquousoIl MATLAB egrave un linguaggio a tipizzazione debole
Le variabili vengono create assegnando ad esse dei valoriIl loro tipo egrave determinato dal tipo dei valori assegnati
Informatica B ndash AA 2008-2009
Array e Variabili (2)
Scalari
a = 3b = 55
Array
a=[3 4 2 3]
Matrice
a = [3 4 2 4 5 6]
nome = valore
nome = [v1 v2 hellip vn]
nome = [v11 v12 hellipv1nhellipvm1 vm2 hellip vmn]
3 4 24 5 6
Informatica B ndash AA 2008-2009
Tipo double
Una variabile di tipo double contiene uno scalare o un array di numeri espressi in 64 bit con doppia precisioneQuesti numeri possono essere
Reali es var1 = -107Immaginari es var2 = 4i var3 = 4jComplessi es var3 = 103 + 10i
Es x = [-13 31+53j 0]Le parti reali e immaginarie possono essere positive e negative nellrsquointervallo di valori [10-308 10308] con accuratezza di 15-16 cifre decimali
Informatica B ndash AA 2008-2009
Tipo char
Una variabile di tipo char contiene uno scalare o un arraydi valori a 16 bit ciascuno dei quali rappresenta un carattere
Es commento = lsquoquesta egrave una stringarsquo
Nome della variabile Array di 1x21 caratteri
Informatica B ndash AA 2008-2009
Creazione ed inizializzazione di unavariabile
Le variabili sono create al momento dellrsquoinizializzazioneModi di inizializzazione
AssegnamentoLettura dati da tastieraLettura da file
Informatica B ndash AA 2008-2009
Assegnamento
variabile = espressioneEsempi
a = [0 7+1]b = [a(2) 5 a]
Risultatoa = [0 8]b = [8 5 0 8]
Non tutti gli elementi devono essere specificati allacreazionehellip
c(2 3) = 5
secondo elemento di a
contenuto di a
0 0 00 0 5
Informatica B ndash AA 2008-2009
Assegnamento (2)
Lrsquoarray puograve essere esteso successivamente hellipd = [2 5] d(4)=2 d = [2 5 0 2]
Operatore di trasposizioneg = drsquo 2
502
Come evitare di enumerare esplicitamente tutti i valori uso dellrsquooperatore
x = 1210 x = [1 3 5 7 9]l = 13m = [lrsquo lrsquo]
1 12 23 3
Informatica B ndash AA 2008-2009
Assegnamento (3) ndash funzioni predefinite
Funzione Significato
zeros (n) Genera una matrice nxn di zeri
zeros (mn) Genera una matrice mxn di zeri
zeros (size(arr)) Genera una matrice di zeri dellastessa dimensione di arr
ones(n) Genera una matrice nxn di uno
ones(mn) Genera una matrice mxn di uno
ones(size(arr)) Genera una matrice di uno dellastessa dimensione di arr
eye(n) Genera la matrice identitagrave nxn
eye(mn) Genera la matrice identitagrave mxn
length(arr) Ritorna la dimensione piugrave lunga del vettore
size(arr) Ritorna il numero di righe e colonnedellrsquoarray
Informatica B ndash AA 2008-2009
Assegnamento (4) ndash funzioni predefinite
Esempia = zeros(2)
b = zeros(23)
c = [1 2 3 4]d = zeros(size(c))
0 00 0
0 0 00 0 0
0 00 0
Informatica B ndash AA 2008-2009
Assegnamento (5) ndash uso di uno scalare per assegnare valori ad un array
Esempiom(14 13) = 3
Regola il modo con cui uno scalare viene assegnato ad un array dipende dalla forma dellrsquoarray che viene specificata a sinistra dellrsquoassegnamentoEsempio 2
m(12 12) = 4
hellip la regola si applica anche ai sottoarray
3 3 33 3 33 3 33 3 3
4 4 34 4 33 3 33 3 3
Informatica B ndash AA 2008-2009
Variabili predefinite
Matlab definisce un insieme di variabili predefinite (es pi)Queste variabili corrispondono in qualche caso a costanti
Attenzione Il valore di queste variabili puograve essere modificato per esempio
bull circ1=2pi10bull pi = 3bull circ2=2pi10
Il valore di circ2 non saragrave piugrave la circonferenza di un cerchio
E` fortemente sconsigliato modificare il valore di unavariabile predefinita
Informatica B ndash AA 2008-2009
Variabili predefinite piugrave comuni
Variabile Scopo
pi contiene 15 cifre significative di π
i j contiene il valore i ( )
inf (o Inf) rappresentazione dellrsquoinfinito(ottenuto di solito come risultato diuna divisione per 0)
nan Not-A-Number egrave il risultato di unaoperazione matematica non definita es 00
clock contiene la data e lrsquoorario corrente E` un vettore di sei elementi (anno mese giorno ora minuti secondi)
date contiene la data corrente sotto forma di stringa
eps epsilon la piugrave piccola differenzarappresentabile tra due numeri
ans Variabile speciale usata per immagazzinare risultati non assegnati ad altre variabili
1minus
Informatica B ndash AA 2008-2009
Operazioni per gli scalari + - ^Operazioni per gli array
Array operation viene eseguita sugli elementi degli array coinvolti (devono avere lo stesso numero di righe e colonne)
a= b= a+b = ab=
Matrix operation segue le regole dellrsquoalgebra lineare
a= b= ab =
Operazioni con scalari e array
1 23 4
2 35 7
3 58 11
2 615 28
1 23 4
2 35 7
12 1726 37 sumk
kjik ba
Informatica B ndash AA 2008-2009
Operazioni tipiche per gli array
Operazione SintassiMatlab
Commenti
Array addition a + b Array e matrix addition sonoidentiche
Array subtraction a ndash b Array e matrix subtraction sono identiche
Array multiplication a b Ciascun elemento del risultatoegrave pari al prodotto deglielementi corrispondenti nei due operandi
Matrix multiplication a b Prodotto di matrici
Array right division a b risultato(ij)=a(ij)b(ij)
Array left division a b risultato(ij)=b(ij)a(ij)
Matrix right division a b ainversa(b)
Matrix left division a b inversa(a)b
Array exponentiation
a ^ b risultato(ij)=a(ij)^b(ij)
Informatica B ndash AA 2008-2009
Matrix left division
Serve per risolvere sistemi di equazioni linearia11x1+a12x2+a13x3=b1
a21x1+a22x2+a23x3=b2
a31x1+a32x2+a33x3=b3
puograve essere espresso come Ax=B con
A = B= x =
di conseguenza x = A-1B=AB
a11 a12 a13a21 a22 a23a31 a32 a33
b1b2b3
x1x2x3
Informatica B ndash AA 2008-2009
Altre funzioni
Funzione Scopo
ceil(x) approssima x allrsquointeroimmediatamente maggiore
floor(x) approssima x allrsquointeroimmediatamente minore
fix(x) approssima x allrsquointero piugrave vicinoverso lo zero
max(x) ritorna il valore massimo nel vettorex e opzionalmente la collocazionedi questo valore in x
min(x) ritorna il valore minimo nel vettore x e opzionalmente la collocazione diquesto valore nel vettore
mod(mn) mod(xy) egrave x - ny dove n = floor(xy) se y ~= 0
round(x) approssima x allrsquointero piugrave vicino
rand(N) genera una matrice di NxN numericasuali
Informatica B ndash AA 2008-2009
Diagrammi a due dimensioni
Diagramma = insieme di coppie che rappresentano coordinate di puntiSi usano vettori per contenere sequenze ordinate dei valori di ognuna delle coordinateplot(xy) disegna digramma cartesiano dei punti che hanno
valori delle ascisse in x delle ordinate in y e li congiunge con una linea per dare continuitagrave al grafico
funzioni xlabel per visualizzare nome asse ascisse ylabel per ordinate title per il titolo
-10 -8 -6 -4 -2 0 2 4 6 8 10-1000
-800
-600
-400
-200
0
200
400
600
800
1000
ascisse
ordi
nate
cubica
Informatica B ndash AA 2008-2009
Un esempio di cinematica
Due treni partono da due stazioni adiacenti che distano 15km viaggiando a velocitagrave di 50ms e 30ms in direzione oppostaCostruire un grafico che mostra il loro movimento fino a quando il piugrave veloce raggiunge la destinazione
Il piugrave veloce impiega 1500050=300sbull DistanzaTreno1=50t bull DistranzaTreno2=15000-30t (per mostrare la
provenienza dalla direzione opposta)
Informatica B ndash AA 2008-2009
Soluzione
t=01300p1=50 tp2=15000-30 tplot(tp1)hold on adesso egrave possibile inserire nuove curve sul grafico
plot(tp2)hold off
Informatica B ndash AA 2008-2009
Risultati ottenuti con lrsquoesempio
Informatica B ndash AA 2008-2009
Array e Variabili (2)
Scalari
a = 3b = 55
Array
a=[3 4 2 3]
Matrice
a = [3 4 2 4 5 6]
nome = valore
nome = [v1 v2 hellip vn]
nome = [v11 v12 hellipv1nhellipvm1 vm2 hellip vmn]
3 4 24 5 6
Informatica B ndash AA 2008-2009
Tipo double
Una variabile di tipo double contiene uno scalare o un array di numeri espressi in 64 bit con doppia precisioneQuesti numeri possono essere
Reali es var1 = -107Immaginari es var2 = 4i var3 = 4jComplessi es var3 = 103 + 10i
Es x = [-13 31+53j 0]Le parti reali e immaginarie possono essere positive e negative nellrsquointervallo di valori [10-308 10308] con accuratezza di 15-16 cifre decimali
Informatica B ndash AA 2008-2009
Tipo char
Una variabile di tipo char contiene uno scalare o un arraydi valori a 16 bit ciascuno dei quali rappresenta un carattere
Es commento = lsquoquesta egrave una stringarsquo
Nome della variabile Array di 1x21 caratteri
Informatica B ndash AA 2008-2009
Creazione ed inizializzazione di unavariabile
Le variabili sono create al momento dellrsquoinizializzazioneModi di inizializzazione
AssegnamentoLettura dati da tastieraLettura da file
Informatica B ndash AA 2008-2009
Assegnamento
variabile = espressioneEsempi
a = [0 7+1]b = [a(2) 5 a]
Risultatoa = [0 8]b = [8 5 0 8]
Non tutti gli elementi devono essere specificati allacreazionehellip
c(2 3) = 5
secondo elemento di a
contenuto di a
0 0 00 0 5
Informatica B ndash AA 2008-2009
Assegnamento (2)
Lrsquoarray puograve essere esteso successivamente hellipd = [2 5] d(4)=2 d = [2 5 0 2]
Operatore di trasposizioneg = drsquo 2
502
Come evitare di enumerare esplicitamente tutti i valori uso dellrsquooperatore
x = 1210 x = [1 3 5 7 9]l = 13m = [lrsquo lrsquo]
1 12 23 3
Informatica B ndash AA 2008-2009
Assegnamento (3) ndash funzioni predefinite
Funzione Significato
zeros (n) Genera una matrice nxn di zeri
zeros (mn) Genera una matrice mxn di zeri
zeros (size(arr)) Genera una matrice di zeri dellastessa dimensione di arr
ones(n) Genera una matrice nxn di uno
ones(mn) Genera una matrice mxn di uno
ones(size(arr)) Genera una matrice di uno dellastessa dimensione di arr
eye(n) Genera la matrice identitagrave nxn
eye(mn) Genera la matrice identitagrave mxn
length(arr) Ritorna la dimensione piugrave lunga del vettore
size(arr) Ritorna il numero di righe e colonnedellrsquoarray
Informatica B ndash AA 2008-2009
Assegnamento (4) ndash funzioni predefinite
Esempia = zeros(2)
b = zeros(23)
c = [1 2 3 4]d = zeros(size(c))
0 00 0
0 0 00 0 0
0 00 0
Informatica B ndash AA 2008-2009
Assegnamento (5) ndash uso di uno scalare per assegnare valori ad un array
Esempiom(14 13) = 3
Regola il modo con cui uno scalare viene assegnato ad un array dipende dalla forma dellrsquoarray che viene specificata a sinistra dellrsquoassegnamentoEsempio 2
m(12 12) = 4
hellip la regola si applica anche ai sottoarray
3 3 33 3 33 3 33 3 3
4 4 34 4 33 3 33 3 3
Informatica B ndash AA 2008-2009
Variabili predefinite
Matlab definisce un insieme di variabili predefinite (es pi)Queste variabili corrispondono in qualche caso a costanti
Attenzione Il valore di queste variabili puograve essere modificato per esempio
bull circ1=2pi10bull pi = 3bull circ2=2pi10
Il valore di circ2 non saragrave piugrave la circonferenza di un cerchio
E` fortemente sconsigliato modificare il valore di unavariabile predefinita
Informatica B ndash AA 2008-2009
Variabili predefinite piugrave comuni
Variabile Scopo
pi contiene 15 cifre significative di π
i j contiene il valore i ( )
inf (o Inf) rappresentazione dellrsquoinfinito(ottenuto di solito come risultato diuna divisione per 0)
nan Not-A-Number egrave il risultato di unaoperazione matematica non definita es 00
clock contiene la data e lrsquoorario corrente E` un vettore di sei elementi (anno mese giorno ora minuti secondi)
date contiene la data corrente sotto forma di stringa
eps epsilon la piugrave piccola differenzarappresentabile tra due numeri
ans Variabile speciale usata per immagazzinare risultati non assegnati ad altre variabili
1minus
Informatica B ndash AA 2008-2009
Operazioni per gli scalari + - ^Operazioni per gli array
Array operation viene eseguita sugli elementi degli array coinvolti (devono avere lo stesso numero di righe e colonne)
a= b= a+b = ab=
Matrix operation segue le regole dellrsquoalgebra lineare
a= b= ab =
Operazioni con scalari e array
1 23 4
2 35 7
3 58 11
2 615 28
1 23 4
2 35 7
12 1726 37 sumk
kjik ba
Informatica B ndash AA 2008-2009
Operazioni tipiche per gli array
Operazione SintassiMatlab
Commenti
Array addition a + b Array e matrix addition sonoidentiche
Array subtraction a ndash b Array e matrix subtraction sono identiche
Array multiplication a b Ciascun elemento del risultatoegrave pari al prodotto deglielementi corrispondenti nei due operandi
Matrix multiplication a b Prodotto di matrici
Array right division a b risultato(ij)=a(ij)b(ij)
Array left division a b risultato(ij)=b(ij)a(ij)
Matrix right division a b ainversa(b)
Matrix left division a b inversa(a)b
Array exponentiation
a ^ b risultato(ij)=a(ij)^b(ij)
Informatica B ndash AA 2008-2009
Matrix left division
Serve per risolvere sistemi di equazioni linearia11x1+a12x2+a13x3=b1
a21x1+a22x2+a23x3=b2
a31x1+a32x2+a33x3=b3
puograve essere espresso come Ax=B con
A = B= x =
di conseguenza x = A-1B=AB
a11 a12 a13a21 a22 a23a31 a32 a33
b1b2b3
x1x2x3
Informatica B ndash AA 2008-2009
Altre funzioni
Funzione Scopo
ceil(x) approssima x allrsquointeroimmediatamente maggiore
floor(x) approssima x allrsquointeroimmediatamente minore
fix(x) approssima x allrsquointero piugrave vicinoverso lo zero
max(x) ritorna il valore massimo nel vettorex e opzionalmente la collocazionedi questo valore in x
min(x) ritorna il valore minimo nel vettore x e opzionalmente la collocazione diquesto valore nel vettore
mod(mn) mod(xy) egrave x - ny dove n = floor(xy) se y ~= 0
round(x) approssima x allrsquointero piugrave vicino
rand(N) genera una matrice di NxN numericasuali
Informatica B ndash AA 2008-2009
Diagrammi a due dimensioni
Diagramma = insieme di coppie che rappresentano coordinate di puntiSi usano vettori per contenere sequenze ordinate dei valori di ognuna delle coordinateplot(xy) disegna digramma cartesiano dei punti che hanno
valori delle ascisse in x delle ordinate in y e li congiunge con una linea per dare continuitagrave al grafico
funzioni xlabel per visualizzare nome asse ascisse ylabel per ordinate title per il titolo
-10 -8 -6 -4 -2 0 2 4 6 8 10-1000
-800
-600
-400
-200
0
200
400
600
800
1000
ascisse
ordi
nate
cubica
Informatica B ndash AA 2008-2009
Un esempio di cinematica
Due treni partono da due stazioni adiacenti che distano 15km viaggiando a velocitagrave di 50ms e 30ms in direzione oppostaCostruire un grafico che mostra il loro movimento fino a quando il piugrave veloce raggiunge la destinazione
Il piugrave veloce impiega 1500050=300sbull DistanzaTreno1=50t bull DistranzaTreno2=15000-30t (per mostrare la
provenienza dalla direzione opposta)
Informatica B ndash AA 2008-2009
Soluzione
t=01300p1=50 tp2=15000-30 tplot(tp1)hold on adesso egrave possibile inserire nuove curve sul grafico
plot(tp2)hold off
Informatica B ndash AA 2008-2009
Risultati ottenuti con lrsquoesempio
Informatica B ndash AA 2008-2009
Tipo double
Una variabile di tipo double contiene uno scalare o un array di numeri espressi in 64 bit con doppia precisioneQuesti numeri possono essere
Reali es var1 = -107Immaginari es var2 = 4i var3 = 4jComplessi es var3 = 103 + 10i
Es x = [-13 31+53j 0]Le parti reali e immaginarie possono essere positive e negative nellrsquointervallo di valori [10-308 10308] con accuratezza di 15-16 cifre decimali
Informatica B ndash AA 2008-2009
Tipo char
Una variabile di tipo char contiene uno scalare o un arraydi valori a 16 bit ciascuno dei quali rappresenta un carattere
Es commento = lsquoquesta egrave una stringarsquo
Nome della variabile Array di 1x21 caratteri
Informatica B ndash AA 2008-2009
Creazione ed inizializzazione di unavariabile
Le variabili sono create al momento dellrsquoinizializzazioneModi di inizializzazione
AssegnamentoLettura dati da tastieraLettura da file
Informatica B ndash AA 2008-2009
Assegnamento
variabile = espressioneEsempi
a = [0 7+1]b = [a(2) 5 a]
Risultatoa = [0 8]b = [8 5 0 8]
Non tutti gli elementi devono essere specificati allacreazionehellip
c(2 3) = 5
secondo elemento di a
contenuto di a
0 0 00 0 5
Informatica B ndash AA 2008-2009
Assegnamento (2)
Lrsquoarray puograve essere esteso successivamente hellipd = [2 5] d(4)=2 d = [2 5 0 2]
Operatore di trasposizioneg = drsquo 2
502
Come evitare di enumerare esplicitamente tutti i valori uso dellrsquooperatore
x = 1210 x = [1 3 5 7 9]l = 13m = [lrsquo lrsquo]
1 12 23 3
Informatica B ndash AA 2008-2009
Assegnamento (3) ndash funzioni predefinite
Funzione Significato
zeros (n) Genera una matrice nxn di zeri
zeros (mn) Genera una matrice mxn di zeri
zeros (size(arr)) Genera una matrice di zeri dellastessa dimensione di arr
ones(n) Genera una matrice nxn di uno
ones(mn) Genera una matrice mxn di uno
ones(size(arr)) Genera una matrice di uno dellastessa dimensione di arr
eye(n) Genera la matrice identitagrave nxn
eye(mn) Genera la matrice identitagrave mxn
length(arr) Ritorna la dimensione piugrave lunga del vettore
size(arr) Ritorna il numero di righe e colonnedellrsquoarray
Informatica B ndash AA 2008-2009
Assegnamento (4) ndash funzioni predefinite
Esempia = zeros(2)
b = zeros(23)
c = [1 2 3 4]d = zeros(size(c))
0 00 0
0 0 00 0 0
0 00 0
Informatica B ndash AA 2008-2009
Assegnamento (5) ndash uso di uno scalare per assegnare valori ad un array
Esempiom(14 13) = 3
Regola il modo con cui uno scalare viene assegnato ad un array dipende dalla forma dellrsquoarray che viene specificata a sinistra dellrsquoassegnamentoEsempio 2
m(12 12) = 4
hellip la regola si applica anche ai sottoarray
3 3 33 3 33 3 33 3 3
4 4 34 4 33 3 33 3 3
Informatica B ndash AA 2008-2009
Variabili predefinite
Matlab definisce un insieme di variabili predefinite (es pi)Queste variabili corrispondono in qualche caso a costanti
Attenzione Il valore di queste variabili puograve essere modificato per esempio
bull circ1=2pi10bull pi = 3bull circ2=2pi10
Il valore di circ2 non saragrave piugrave la circonferenza di un cerchio
E` fortemente sconsigliato modificare il valore di unavariabile predefinita
Informatica B ndash AA 2008-2009
Variabili predefinite piugrave comuni
Variabile Scopo
pi contiene 15 cifre significative di π
i j contiene il valore i ( )
inf (o Inf) rappresentazione dellrsquoinfinito(ottenuto di solito come risultato diuna divisione per 0)
nan Not-A-Number egrave il risultato di unaoperazione matematica non definita es 00
clock contiene la data e lrsquoorario corrente E` un vettore di sei elementi (anno mese giorno ora minuti secondi)
date contiene la data corrente sotto forma di stringa
eps epsilon la piugrave piccola differenzarappresentabile tra due numeri
ans Variabile speciale usata per immagazzinare risultati non assegnati ad altre variabili
1minus
Informatica B ndash AA 2008-2009
Operazioni per gli scalari + - ^Operazioni per gli array
Array operation viene eseguita sugli elementi degli array coinvolti (devono avere lo stesso numero di righe e colonne)
a= b= a+b = ab=
Matrix operation segue le regole dellrsquoalgebra lineare
a= b= ab =
Operazioni con scalari e array
1 23 4
2 35 7
3 58 11
2 615 28
1 23 4
2 35 7
12 1726 37 sumk
kjik ba
Informatica B ndash AA 2008-2009
Operazioni tipiche per gli array
Operazione SintassiMatlab
Commenti
Array addition a + b Array e matrix addition sonoidentiche
Array subtraction a ndash b Array e matrix subtraction sono identiche
Array multiplication a b Ciascun elemento del risultatoegrave pari al prodotto deglielementi corrispondenti nei due operandi
Matrix multiplication a b Prodotto di matrici
Array right division a b risultato(ij)=a(ij)b(ij)
Array left division a b risultato(ij)=b(ij)a(ij)
Matrix right division a b ainversa(b)
Matrix left division a b inversa(a)b
Array exponentiation
a ^ b risultato(ij)=a(ij)^b(ij)
Informatica B ndash AA 2008-2009
Matrix left division
Serve per risolvere sistemi di equazioni linearia11x1+a12x2+a13x3=b1
a21x1+a22x2+a23x3=b2
a31x1+a32x2+a33x3=b3
puograve essere espresso come Ax=B con
A = B= x =
di conseguenza x = A-1B=AB
a11 a12 a13a21 a22 a23a31 a32 a33
b1b2b3
x1x2x3
Informatica B ndash AA 2008-2009
Altre funzioni
Funzione Scopo
ceil(x) approssima x allrsquointeroimmediatamente maggiore
floor(x) approssima x allrsquointeroimmediatamente minore
fix(x) approssima x allrsquointero piugrave vicinoverso lo zero
max(x) ritorna il valore massimo nel vettorex e opzionalmente la collocazionedi questo valore in x
min(x) ritorna il valore minimo nel vettore x e opzionalmente la collocazione diquesto valore nel vettore
mod(mn) mod(xy) egrave x - ny dove n = floor(xy) se y ~= 0
round(x) approssima x allrsquointero piugrave vicino
rand(N) genera una matrice di NxN numericasuali
Informatica B ndash AA 2008-2009
Diagrammi a due dimensioni
Diagramma = insieme di coppie che rappresentano coordinate di puntiSi usano vettori per contenere sequenze ordinate dei valori di ognuna delle coordinateplot(xy) disegna digramma cartesiano dei punti che hanno
valori delle ascisse in x delle ordinate in y e li congiunge con una linea per dare continuitagrave al grafico
funzioni xlabel per visualizzare nome asse ascisse ylabel per ordinate title per il titolo
-10 -8 -6 -4 -2 0 2 4 6 8 10-1000
-800
-600
-400
-200
0
200
400
600
800
1000
ascisse
ordi
nate
cubica
Informatica B ndash AA 2008-2009
Un esempio di cinematica
Due treni partono da due stazioni adiacenti che distano 15km viaggiando a velocitagrave di 50ms e 30ms in direzione oppostaCostruire un grafico che mostra il loro movimento fino a quando il piugrave veloce raggiunge la destinazione
Il piugrave veloce impiega 1500050=300sbull DistanzaTreno1=50t bull DistranzaTreno2=15000-30t (per mostrare la
provenienza dalla direzione opposta)
Informatica B ndash AA 2008-2009
Soluzione
t=01300p1=50 tp2=15000-30 tplot(tp1)hold on adesso egrave possibile inserire nuove curve sul grafico
plot(tp2)hold off
Informatica B ndash AA 2008-2009
Risultati ottenuti con lrsquoesempio
Informatica B ndash AA 2008-2009
Tipo char
Una variabile di tipo char contiene uno scalare o un arraydi valori a 16 bit ciascuno dei quali rappresenta un carattere
Es commento = lsquoquesta egrave una stringarsquo
Nome della variabile Array di 1x21 caratteri
Informatica B ndash AA 2008-2009
Creazione ed inizializzazione di unavariabile
Le variabili sono create al momento dellrsquoinizializzazioneModi di inizializzazione
AssegnamentoLettura dati da tastieraLettura da file
Informatica B ndash AA 2008-2009
Assegnamento
variabile = espressioneEsempi
a = [0 7+1]b = [a(2) 5 a]
Risultatoa = [0 8]b = [8 5 0 8]
Non tutti gli elementi devono essere specificati allacreazionehellip
c(2 3) = 5
secondo elemento di a
contenuto di a
0 0 00 0 5
Informatica B ndash AA 2008-2009
Assegnamento (2)
Lrsquoarray puograve essere esteso successivamente hellipd = [2 5] d(4)=2 d = [2 5 0 2]
Operatore di trasposizioneg = drsquo 2
502
Come evitare di enumerare esplicitamente tutti i valori uso dellrsquooperatore
x = 1210 x = [1 3 5 7 9]l = 13m = [lrsquo lrsquo]
1 12 23 3
Informatica B ndash AA 2008-2009
Assegnamento (3) ndash funzioni predefinite
Funzione Significato
zeros (n) Genera una matrice nxn di zeri
zeros (mn) Genera una matrice mxn di zeri
zeros (size(arr)) Genera una matrice di zeri dellastessa dimensione di arr
ones(n) Genera una matrice nxn di uno
ones(mn) Genera una matrice mxn di uno
ones(size(arr)) Genera una matrice di uno dellastessa dimensione di arr
eye(n) Genera la matrice identitagrave nxn
eye(mn) Genera la matrice identitagrave mxn
length(arr) Ritorna la dimensione piugrave lunga del vettore
size(arr) Ritorna il numero di righe e colonnedellrsquoarray
Informatica B ndash AA 2008-2009
Assegnamento (4) ndash funzioni predefinite
Esempia = zeros(2)
b = zeros(23)
c = [1 2 3 4]d = zeros(size(c))
0 00 0
0 0 00 0 0
0 00 0
Informatica B ndash AA 2008-2009
Assegnamento (5) ndash uso di uno scalare per assegnare valori ad un array
Esempiom(14 13) = 3
Regola il modo con cui uno scalare viene assegnato ad un array dipende dalla forma dellrsquoarray che viene specificata a sinistra dellrsquoassegnamentoEsempio 2
m(12 12) = 4
hellip la regola si applica anche ai sottoarray
3 3 33 3 33 3 33 3 3
4 4 34 4 33 3 33 3 3
Informatica B ndash AA 2008-2009
Variabili predefinite
Matlab definisce un insieme di variabili predefinite (es pi)Queste variabili corrispondono in qualche caso a costanti
Attenzione Il valore di queste variabili puograve essere modificato per esempio
bull circ1=2pi10bull pi = 3bull circ2=2pi10
Il valore di circ2 non saragrave piugrave la circonferenza di un cerchio
E` fortemente sconsigliato modificare il valore di unavariabile predefinita
Informatica B ndash AA 2008-2009
Variabili predefinite piugrave comuni
Variabile Scopo
pi contiene 15 cifre significative di π
i j contiene il valore i ( )
inf (o Inf) rappresentazione dellrsquoinfinito(ottenuto di solito come risultato diuna divisione per 0)
nan Not-A-Number egrave il risultato di unaoperazione matematica non definita es 00
clock contiene la data e lrsquoorario corrente E` un vettore di sei elementi (anno mese giorno ora minuti secondi)
date contiene la data corrente sotto forma di stringa
eps epsilon la piugrave piccola differenzarappresentabile tra due numeri
ans Variabile speciale usata per immagazzinare risultati non assegnati ad altre variabili
1minus
Informatica B ndash AA 2008-2009
Operazioni per gli scalari + - ^Operazioni per gli array
Array operation viene eseguita sugli elementi degli array coinvolti (devono avere lo stesso numero di righe e colonne)
a= b= a+b = ab=
Matrix operation segue le regole dellrsquoalgebra lineare
a= b= ab =
Operazioni con scalari e array
1 23 4
2 35 7
3 58 11
2 615 28
1 23 4
2 35 7
12 1726 37 sumk
kjik ba
Informatica B ndash AA 2008-2009
Operazioni tipiche per gli array
Operazione SintassiMatlab
Commenti
Array addition a + b Array e matrix addition sonoidentiche
Array subtraction a ndash b Array e matrix subtraction sono identiche
Array multiplication a b Ciascun elemento del risultatoegrave pari al prodotto deglielementi corrispondenti nei due operandi
Matrix multiplication a b Prodotto di matrici
Array right division a b risultato(ij)=a(ij)b(ij)
Array left division a b risultato(ij)=b(ij)a(ij)
Matrix right division a b ainversa(b)
Matrix left division a b inversa(a)b
Array exponentiation
a ^ b risultato(ij)=a(ij)^b(ij)
Informatica B ndash AA 2008-2009
Matrix left division
Serve per risolvere sistemi di equazioni linearia11x1+a12x2+a13x3=b1
a21x1+a22x2+a23x3=b2
a31x1+a32x2+a33x3=b3
puograve essere espresso come Ax=B con
A = B= x =
di conseguenza x = A-1B=AB
a11 a12 a13a21 a22 a23a31 a32 a33
b1b2b3
x1x2x3
Informatica B ndash AA 2008-2009
Altre funzioni
Funzione Scopo
ceil(x) approssima x allrsquointeroimmediatamente maggiore
floor(x) approssima x allrsquointeroimmediatamente minore
fix(x) approssima x allrsquointero piugrave vicinoverso lo zero
max(x) ritorna il valore massimo nel vettorex e opzionalmente la collocazionedi questo valore in x
min(x) ritorna il valore minimo nel vettore x e opzionalmente la collocazione diquesto valore nel vettore
mod(mn) mod(xy) egrave x - ny dove n = floor(xy) se y ~= 0
round(x) approssima x allrsquointero piugrave vicino
rand(N) genera una matrice di NxN numericasuali
Informatica B ndash AA 2008-2009
Diagrammi a due dimensioni
Diagramma = insieme di coppie che rappresentano coordinate di puntiSi usano vettori per contenere sequenze ordinate dei valori di ognuna delle coordinateplot(xy) disegna digramma cartesiano dei punti che hanno
valori delle ascisse in x delle ordinate in y e li congiunge con una linea per dare continuitagrave al grafico
funzioni xlabel per visualizzare nome asse ascisse ylabel per ordinate title per il titolo
-10 -8 -6 -4 -2 0 2 4 6 8 10-1000
-800
-600
-400
-200
0
200
400
600
800
1000
ascisse
ordi
nate
cubica
Informatica B ndash AA 2008-2009
Un esempio di cinematica
Due treni partono da due stazioni adiacenti che distano 15km viaggiando a velocitagrave di 50ms e 30ms in direzione oppostaCostruire un grafico che mostra il loro movimento fino a quando il piugrave veloce raggiunge la destinazione
Il piugrave veloce impiega 1500050=300sbull DistanzaTreno1=50t bull DistranzaTreno2=15000-30t (per mostrare la
provenienza dalla direzione opposta)
Informatica B ndash AA 2008-2009
Soluzione
t=01300p1=50 tp2=15000-30 tplot(tp1)hold on adesso egrave possibile inserire nuove curve sul grafico
plot(tp2)hold off
Informatica B ndash AA 2008-2009
Risultati ottenuti con lrsquoesempio
Informatica B ndash AA 2008-2009
Creazione ed inizializzazione di unavariabile
Le variabili sono create al momento dellrsquoinizializzazioneModi di inizializzazione
AssegnamentoLettura dati da tastieraLettura da file
Informatica B ndash AA 2008-2009
Assegnamento
variabile = espressioneEsempi
a = [0 7+1]b = [a(2) 5 a]
Risultatoa = [0 8]b = [8 5 0 8]
Non tutti gli elementi devono essere specificati allacreazionehellip
c(2 3) = 5
secondo elemento di a
contenuto di a
0 0 00 0 5
Informatica B ndash AA 2008-2009
Assegnamento (2)
Lrsquoarray puograve essere esteso successivamente hellipd = [2 5] d(4)=2 d = [2 5 0 2]
Operatore di trasposizioneg = drsquo 2
502
Come evitare di enumerare esplicitamente tutti i valori uso dellrsquooperatore
x = 1210 x = [1 3 5 7 9]l = 13m = [lrsquo lrsquo]
1 12 23 3
Informatica B ndash AA 2008-2009
Assegnamento (3) ndash funzioni predefinite
Funzione Significato
zeros (n) Genera una matrice nxn di zeri
zeros (mn) Genera una matrice mxn di zeri
zeros (size(arr)) Genera una matrice di zeri dellastessa dimensione di arr
ones(n) Genera una matrice nxn di uno
ones(mn) Genera una matrice mxn di uno
ones(size(arr)) Genera una matrice di uno dellastessa dimensione di arr
eye(n) Genera la matrice identitagrave nxn
eye(mn) Genera la matrice identitagrave mxn
length(arr) Ritorna la dimensione piugrave lunga del vettore
size(arr) Ritorna il numero di righe e colonnedellrsquoarray
Informatica B ndash AA 2008-2009
Assegnamento (4) ndash funzioni predefinite
Esempia = zeros(2)
b = zeros(23)
c = [1 2 3 4]d = zeros(size(c))
0 00 0
0 0 00 0 0
0 00 0
Informatica B ndash AA 2008-2009
Assegnamento (5) ndash uso di uno scalare per assegnare valori ad un array
Esempiom(14 13) = 3
Regola il modo con cui uno scalare viene assegnato ad un array dipende dalla forma dellrsquoarray che viene specificata a sinistra dellrsquoassegnamentoEsempio 2
m(12 12) = 4
hellip la regola si applica anche ai sottoarray
3 3 33 3 33 3 33 3 3
4 4 34 4 33 3 33 3 3
Informatica B ndash AA 2008-2009
Variabili predefinite
Matlab definisce un insieme di variabili predefinite (es pi)Queste variabili corrispondono in qualche caso a costanti
Attenzione Il valore di queste variabili puograve essere modificato per esempio
bull circ1=2pi10bull pi = 3bull circ2=2pi10
Il valore di circ2 non saragrave piugrave la circonferenza di un cerchio
E` fortemente sconsigliato modificare il valore di unavariabile predefinita
Informatica B ndash AA 2008-2009
Variabili predefinite piugrave comuni
Variabile Scopo
pi contiene 15 cifre significative di π
i j contiene il valore i ( )
inf (o Inf) rappresentazione dellrsquoinfinito(ottenuto di solito come risultato diuna divisione per 0)
nan Not-A-Number egrave il risultato di unaoperazione matematica non definita es 00
clock contiene la data e lrsquoorario corrente E` un vettore di sei elementi (anno mese giorno ora minuti secondi)
date contiene la data corrente sotto forma di stringa
eps epsilon la piugrave piccola differenzarappresentabile tra due numeri
ans Variabile speciale usata per immagazzinare risultati non assegnati ad altre variabili
1minus
Informatica B ndash AA 2008-2009
Operazioni per gli scalari + - ^Operazioni per gli array
Array operation viene eseguita sugli elementi degli array coinvolti (devono avere lo stesso numero di righe e colonne)
a= b= a+b = ab=
Matrix operation segue le regole dellrsquoalgebra lineare
a= b= ab =
Operazioni con scalari e array
1 23 4
2 35 7
3 58 11
2 615 28
1 23 4
2 35 7
12 1726 37 sumk
kjik ba
Informatica B ndash AA 2008-2009
Operazioni tipiche per gli array
Operazione SintassiMatlab
Commenti
Array addition a + b Array e matrix addition sonoidentiche
Array subtraction a ndash b Array e matrix subtraction sono identiche
Array multiplication a b Ciascun elemento del risultatoegrave pari al prodotto deglielementi corrispondenti nei due operandi
Matrix multiplication a b Prodotto di matrici
Array right division a b risultato(ij)=a(ij)b(ij)
Array left division a b risultato(ij)=b(ij)a(ij)
Matrix right division a b ainversa(b)
Matrix left division a b inversa(a)b
Array exponentiation
a ^ b risultato(ij)=a(ij)^b(ij)
Informatica B ndash AA 2008-2009
Matrix left division
Serve per risolvere sistemi di equazioni linearia11x1+a12x2+a13x3=b1
a21x1+a22x2+a23x3=b2
a31x1+a32x2+a33x3=b3
puograve essere espresso come Ax=B con
A = B= x =
di conseguenza x = A-1B=AB
a11 a12 a13a21 a22 a23a31 a32 a33
b1b2b3
x1x2x3
Informatica B ndash AA 2008-2009
Altre funzioni
Funzione Scopo
ceil(x) approssima x allrsquointeroimmediatamente maggiore
floor(x) approssima x allrsquointeroimmediatamente minore
fix(x) approssima x allrsquointero piugrave vicinoverso lo zero
max(x) ritorna il valore massimo nel vettorex e opzionalmente la collocazionedi questo valore in x
min(x) ritorna il valore minimo nel vettore x e opzionalmente la collocazione diquesto valore nel vettore
mod(mn) mod(xy) egrave x - ny dove n = floor(xy) se y ~= 0
round(x) approssima x allrsquointero piugrave vicino
rand(N) genera una matrice di NxN numericasuali
Informatica B ndash AA 2008-2009
Diagrammi a due dimensioni
Diagramma = insieme di coppie che rappresentano coordinate di puntiSi usano vettori per contenere sequenze ordinate dei valori di ognuna delle coordinateplot(xy) disegna digramma cartesiano dei punti che hanno
valori delle ascisse in x delle ordinate in y e li congiunge con una linea per dare continuitagrave al grafico
funzioni xlabel per visualizzare nome asse ascisse ylabel per ordinate title per il titolo
-10 -8 -6 -4 -2 0 2 4 6 8 10-1000
-800
-600
-400
-200
0
200
400
600
800
1000
ascisse
ordi
nate
cubica
Informatica B ndash AA 2008-2009
Un esempio di cinematica
Due treni partono da due stazioni adiacenti che distano 15km viaggiando a velocitagrave di 50ms e 30ms in direzione oppostaCostruire un grafico che mostra il loro movimento fino a quando il piugrave veloce raggiunge la destinazione
Il piugrave veloce impiega 1500050=300sbull DistanzaTreno1=50t bull DistranzaTreno2=15000-30t (per mostrare la
provenienza dalla direzione opposta)
Informatica B ndash AA 2008-2009
Soluzione
t=01300p1=50 tp2=15000-30 tplot(tp1)hold on adesso egrave possibile inserire nuove curve sul grafico
plot(tp2)hold off
Informatica B ndash AA 2008-2009
Risultati ottenuti con lrsquoesempio
Informatica B ndash AA 2008-2009
Assegnamento
variabile = espressioneEsempi
a = [0 7+1]b = [a(2) 5 a]
Risultatoa = [0 8]b = [8 5 0 8]
Non tutti gli elementi devono essere specificati allacreazionehellip
c(2 3) = 5
secondo elemento di a
contenuto di a
0 0 00 0 5
Informatica B ndash AA 2008-2009
Assegnamento (2)
Lrsquoarray puograve essere esteso successivamente hellipd = [2 5] d(4)=2 d = [2 5 0 2]
Operatore di trasposizioneg = drsquo 2
502
Come evitare di enumerare esplicitamente tutti i valori uso dellrsquooperatore
x = 1210 x = [1 3 5 7 9]l = 13m = [lrsquo lrsquo]
1 12 23 3
Informatica B ndash AA 2008-2009
Assegnamento (3) ndash funzioni predefinite
Funzione Significato
zeros (n) Genera una matrice nxn di zeri
zeros (mn) Genera una matrice mxn di zeri
zeros (size(arr)) Genera una matrice di zeri dellastessa dimensione di arr
ones(n) Genera una matrice nxn di uno
ones(mn) Genera una matrice mxn di uno
ones(size(arr)) Genera una matrice di uno dellastessa dimensione di arr
eye(n) Genera la matrice identitagrave nxn
eye(mn) Genera la matrice identitagrave mxn
length(arr) Ritorna la dimensione piugrave lunga del vettore
size(arr) Ritorna il numero di righe e colonnedellrsquoarray
Informatica B ndash AA 2008-2009
Assegnamento (4) ndash funzioni predefinite
Esempia = zeros(2)
b = zeros(23)
c = [1 2 3 4]d = zeros(size(c))
0 00 0
0 0 00 0 0
0 00 0
Informatica B ndash AA 2008-2009
Assegnamento (5) ndash uso di uno scalare per assegnare valori ad un array
Esempiom(14 13) = 3
Regola il modo con cui uno scalare viene assegnato ad un array dipende dalla forma dellrsquoarray che viene specificata a sinistra dellrsquoassegnamentoEsempio 2
m(12 12) = 4
hellip la regola si applica anche ai sottoarray
3 3 33 3 33 3 33 3 3
4 4 34 4 33 3 33 3 3
Informatica B ndash AA 2008-2009
Variabili predefinite
Matlab definisce un insieme di variabili predefinite (es pi)Queste variabili corrispondono in qualche caso a costanti
Attenzione Il valore di queste variabili puograve essere modificato per esempio
bull circ1=2pi10bull pi = 3bull circ2=2pi10
Il valore di circ2 non saragrave piugrave la circonferenza di un cerchio
E` fortemente sconsigliato modificare il valore di unavariabile predefinita
Informatica B ndash AA 2008-2009
Variabili predefinite piugrave comuni
Variabile Scopo
pi contiene 15 cifre significative di π
i j contiene il valore i ( )
inf (o Inf) rappresentazione dellrsquoinfinito(ottenuto di solito come risultato diuna divisione per 0)
nan Not-A-Number egrave il risultato di unaoperazione matematica non definita es 00
clock contiene la data e lrsquoorario corrente E` un vettore di sei elementi (anno mese giorno ora minuti secondi)
date contiene la data corrente sotto forma di stringa
eps epsilon la piugrave piccola differenzarappresentabile tra due numeri
ans Variabile speciale usata per immagazzinare risultati non assegnati ad altre variabili
1minus
Informatica B ndash AA 2008-2009
Operazioni per gli scalari + - ^Operazioni per gli array
Array operation viene eseguita sugli elementi degli array coinvolti (devono avere lo stesso numero di righe e colonne)
a= b= a+b = ab=
Matrix operation segue le regole dellrsquoalgebra lineare
a= b= ab =
Operazioni con scalari e array
1 23 4
2 35 7
3 58 11
2 615 28
1 23 4
2 35 7
12 1726 37 sumk
kjik ba
Informatica B ndash AA 2008-2009
Operazioni tipiche per gli array
Operazione SintassiMatlab
Commenti
Array addition a + b Array e matrix addition sonoidentiche
Array subtraction a ndash b Array e matrix subtraction sono identiche
Array multiplication a b Ciascun elemento del risultatoegrave pari al prodotto deglielementi corrispondenti nei due operandi
Matrix multiplication a b Prodotto di matrici
Array right division a b risultato(ij)=a(ij)b(ij)
Array left division a b risultato(ij)=b(ij)a(ij)
Matrix right division a b ainversa(b)
Matrix left division a b inversa(a)b
Array exponentiation
a ^ b risultato(ij)=a(ij)^b(ij)
Informatica B ndash AA 2008-2009
Matrix left division
Serve per risolvere sistemi di equazioni linearia11x1+a12x2+a13x3=b1
a21x1+a22x2+a23x3=b2
a31x1+a32x2+a33x3=b3
puograve essere espresso come Ax=B con
A = B= x =
di conseguenza x = A-1B=AB
a11 a12 a13a21 a22 a23a31 a32 a33
b1b2b3
x1x2x3
Informatica B ndash AA 2008-2009
Altre funzioni
Funzione Scopo
ceil(x) approssima x allrsquointeroimmediatamente maggiore
floor(x) approssima x allrsquointeroimmediatamente minore
fix(x) approssima x allrsquointero piugrave vicinoverso lo zero
max(x) ritorna il valore massimo nel vettorex e opzionalmente la collocazionedi questo valore in x
min(x) ritorna il valore minimo nel vettore x e opzionalmente la collocazione diquesto valore nel vettore
mod(mn) mod(xy) egrave x - ny dove n = floor(xy) se y ~= 0
round(x) approssima x allrsquointero piugrave vicino
rand(N) genera una matrice di NxN numericasuali
Informatica B ndash AA 2008-2009
Diagrammi a due dimensioni
Diagramma = insieme di coppie che rappresentano coordinate di puntiSi usano vettori per contenere sequenze ordinate dei valori di ognuna delle coordinateplot(xy) disegna digramma cartesiano dei punti che hanno
valori delle ascisse in x delle ordinate in y e li congiunge con una linea per dare continuitagrave al grafico
funzioni xlabel per visualizzare nome asse ascisse ylabel per ordinate title per il titolo
-10 -8 -6 -4 -2 0 2 4 6 8 10-1000
-800
-600
-400
-200
0
200
400
600
800
1000
ascisse
ordi
nate
cubica
Informatica B ndash AA 2008-2009
Un esempio di cinematica
Due treni partono da due stazioni adiacenti che distano 15km viaggiando a velocitagrave di 50ms e 30ms in direzione oppostaCostruire un grafico che mostra il loro movimento fino a quando il piugrave veloce raggiunge la destinazione
Il piugrave veloce impiega 1500050=300sbull DistanzaTreno1=50t bull DistranzaTreno2=15000-30t (per mostrare la
provenienza dalla direzione opposta)
Informatica B ndash AA 2008-2009
Soluzione
t=01300p1=50 tp2=15000-30 tplot(tp1)hold on adesso egrave possibile inserire nuove curve sul grafico
plot(tp2)hold off
Informatica B ndash AA 2008-2009
Risultati ottenuti con lrsquoesempio
Informatica B ndash AA 2008-2009
Assegnamento (2)
Lrsquoarray puograve essere esteso successivamente hellipd = [2 5] d(4)=2 d = [2 5 0 2]
Operatore di trasposizioneg = drsquo 2
502
Come evitare di enumerare esplicitamente tutti i valori uso dellrsquooperatore
x = 1210 x = [1 3 5 7 9]l = 13m = [lrsquo lrsquo]
1 12 23 3
Informatica B ndash AA 2008-2009
Assegnamento (3) ndash funzioni predefinite
Funzione Significato
zeros (n) Genera una matrice nxn di zeri
zeros (mn) Genera una matrice mxn di zeri
zeros (size(arr)) Genera una matrice di zeri dellastessa dimensione di arr
ones(n) Genera una matrice nxn di uno
ones(mn) Genera una matrice mxn di uno
ones(size(arr)) Genera una matrice di uno dellastessa dimensione di arr
eye(n) Genera la matrice identitagrave nxn
eye(mn) Genera la matrice identitagrave mxn
length(arr) Ritorna la dimensione piugrave lunga del vettore
size(arr) Ritorna il numero di righe e colonnedellrsquoarray
Informatica B ndash AA 2008-2009
Assegnamento (4) ndash funzioni predefinite
Esempia = zeros(2)
b = zeros(23)
c = [1 2 3 4]d = zeros(size(c))
0 00 0
0 0 00 0 0
0 00 0
Informatica B ndash AA 2008-2009
Assegnamento (5) ndash uso di uno scalare per assegnare valori ad un array
Esempiom(14 13) = 3
Regola il modo con cui uno scalare viene assegnato ad un array dipende dalla forma dellrsquoarray che viene specificata a sinistra dellrsquoassegnamentoEsempio 2
m(12 12) = 4
hellip la regola si applica anche ai sottoarray
3 3 33 3 33 3 33 3 3
4 4 34 4 33 3 33 3 3
Informatica B ndash AA 2008-2009
Variabili predefinite
Matlab definisce un insieme di variabili predefinite (es pi)Queste variabili corrispondono in qualche caso a costanti
Attenzione Il valore di queste variabili puograve essere modificato per esempio
bull circ1=2pi10bull pi = 3bull circ2=2pi10
Il valore di circ2 non saragrave piugrave la circonferenza di un cerchio
E` fortemente sconsigliato modificare il valore di unavariabile predefinita
Informatica B ndash AA 2008-2009
Variabili predefinite piugrave comuni
Variabile Scopo
pi contiene 15 cifre significative di π
i j contiene il valore i ( )
inf (o Inf) rappresentazione dellrsquoinfinito(ottenuto di solito come risultato diuna divisione per 0)
nan Not-A-Number egrave il risultato di unaoperazione matematica non definita es 00
clock contiene la data e lrsquoorario corrente E` un vettore di sei elementi (anno mese giorno ora minuti secondi)
date contiene la data corrente sotto forma di stringa
eps epsilon la piugrave piccola differenzarappresentabile tra due numeri
ans Variabile speciale usata per immagazzinare risultati non assegnati ad altre variabili
1minus
Informatica B ndash AA 2008-2009
Operazioni per gli scalari + - ^Operazioni per gli array
Array operation viene eseguita sugli elementi degli array coinvolti (devono avere lo stesso numero di righe e colonne)
a= b= a+b = ab=
Matrix operation segue le regole dellrsquoalgebra lineare
a= b= ab =
Operazioni con scalari e array
1 23 4
2 35 7
3 58 11
2 615 28
1 23 4
2 35 7
12 1726 37 sumk
kjik ba
Informatica B ndash AA 2008-2009
Operazioni tipiche per gli array
Operazione SintassiMatlab
Commenti
Array addition a + b Array e matrix addition sonoidentiche
Array subtraction a ndash b Array e matrix subtraction sono identiche
Array multiplication a b Ciascun elemento del risultatoegrave pari al prodotto deglielementi corrispondenti nei due operandi
Matrix multiplication a b Prodotto di matrici
Array right division a b risultato(ij)=a(ij)b(ij)
Array left division a b risultato(ij)=b(ij)a(ij)
Matrix right division a b ainversa(b)
Matrix left division a b inversa(a)b
Array exponentiation
a ^ b risultato(ij)=a(ij)^b(ij)
Informatica B ndash AA 2008-2009
Matrix left division
Serve per risolvere sistemi di equazioni linearia11x1+a12x2+a13x3=b1
a21x1+a22x2+a23x3=b2
a31x1+a32x2+a33x3=b3
puograve essere espresso come Ax=B con
A = B= x =
di conseguenza x = A-1B=AB
a11 a12 a13a21 a22 a23a31 a32 a33
b1b2b3
x1x2x3
Informatica B ndash AA 2008-2009
Altre funzioni
Funzione Scopo
ceil(x) approssima x allrsquointeroimmediatamente maggiore
floor(x) approssima x allrsquointeroimmediatamente minore
fix(x) approssima x allrsquointero piugrave vicinoverso lo zero
max(x) ritorna il valore massimo nel vettorex e opzionalmente la collocazionedi questo valore in x
min(x) ritorna il valore minimo nel vettore x e opzionalmente la collocazione diquesto valore nel vettore
mod(mn) mod(xy) egrave x - ny dove n = floor(xy) se y ~= 0
round(x) approssima x allrsquointero piugrave vicino
rand(N) genera una matrice di NxN numericasuali
Informatica B ndash AA 2008-2009
Diagrammi a due dimensioni
Diagramma = insieme di coppie che rappresentano coordinate di puntiSi usano vettori per contenere sequenze ordinate dei valori di ognuna delle coordinateplot(xy) disegna digramma cartesiano dei punti che hanno
valori delle ascisse in x delle ordinate in y e li congiunge con una linea per dare continuitagrave al grafico
funzioni xlabel per visualizzare nome asse ascisse ylabel per ordinate title per il titolo
-10 -8 -6 -4 -2 0 2 4 6 8 10-1000
-800
-600
-400
-200
0
200
400
600
800
1000
ascisse
ordi
nate
cubica
Informatica B ndash AA 2008-2009
Un esempio di cinematica
Due treni partono da due stazioni adiacenti che distano 15km viaggiando a velocitagrave di 50ms e 30ms in direzione oppostaCostruire un grafico che mostra il loro movimento fino a quando il piugrave veloce raggiunge la destinazione
Il piugrave veloce impiega 1500050=300sbull DistanzaTreno1=50t bull DistranzaTreno2=15000-30t (per mostrare la
provenienza dalla direzione opposta)
Informatica B ndash AA 2008-2009
Soluzione
t=01300p1=50 tp2=15000-30 tplot(tp1)hold on adesso egrave possibile inserire nuove curve sul grafico
plot(tp2)hold off
Informatica B ndash AA 2008-2009
Risultati ottenuti con lrsquoesempio
Informatica B ndash AA 2008-2009
Assegnamento (3) ndash funzioni predefinite
Funzione Significato
zeros (n) Genera una matrice nxn di zeri
zeros (mn) Genera una matrice mxn di zeri
zeros (size(arr)) Genera una matrice di zeri dellastessa dimensione di arr
ones(n) Genera una matrice nxn di uno
ones(mn) Genera una matrice mxn di uno
ones(size(arr)) Genera una matrice di uno dellastessa dimensione di arr
eye(n) Genera la matrice identitagrave nxn
eye(mn) Genera la matrice identitagrave mxn
length(arr) Ritorna la dimensione piugrave lunga del vettore
size(arr) Ritorna il numero di righe e colonnedellrsquoarray
Informatica B ndash AA 2008-2009
Assegnamento (4) ndash funzioni predefinite
Esempia = zeros(2)
b = zeros(23)
c = [1 2 3 4]d = zeros(size(c))
0 00 0
0 0 00 0 0
0 00 0
Informatica B ndash AA 2008-2009
Assegnamento (5) ndash uso di uno scalare per assegnare valori ad un array
Esempiom(14 13) = 3
Regola il modo con cui uno scalare viene assegnato ad un array dipende dalla forma dellrsquoarray che viene specificata a sinistra dellrsquoassegnamentoEsempio 2
m(12 12) = 4
hellip la regola si applica anche ai sottoarray
3 3 33 3 33 3 33 3 3
4 4 34 4 33 3 33 3 3
Informatica B ndash AA 2008-2009
Variabili predefinite
Matlab definisce un insieme di variabili predefinite (es pi)Queste variabili corrispondono in qualche caso a costanti
Attenzione Il valore di queste variabili puograve essere modificato per esempio
bull circ1=2pi10bull pi = 3bull circ2=2pi10
Il valore di circ2 non saragrave piugrave la circonferenza di un cerchio
E` fortemente sconsigliato modificare il valore di unavariabile predefinita
Informatica B ndash AA 2008-2009
Variabili predefinite piugrave comuni
Variabile Scopo
pi contiene 15 cifre significative di π
i j contiene il valore i ( )
inf (o Inf) rappresentazione dellrsquoinfinito(ottenuto di solito come risultato diuna divisione per 0)
nan Not-A-Number egrave il risultato di unaoperazione matematica non definita es 00
clock contiene la data e lrsquoorario corrente E` un vettore di sei elementi (anno mese giorno ora minuti secondi)
date contiene la data corrente sotto forma di stringa
eps epsilon la piugrave piccola differenzarappresentabile tra due numeri
ans Variabile speciale usata per immagazzinare risultati non assegnati ad altre variabili
1minus
Informatica B ndash AA 2008-2009
Operazioni per gli scalari + - ^Operazioni per gli array
Array operation viene eseguita sugli elementi degli array coinvolti (devono avere lo stesso numero di righe e colonne)
a= b= a+b = ab=
Matrix operation segue le regole dellrsquoalgebra lineare
a= b= ab =
Operazioni con scalari e array
1 23 4
2 35 7
3 58 11
2 615 28
1 23 4
2 35 7
12 1726 37 sumk
kjik ba
Informatica B ndash AA 2008-2009
Operazioni tipiche per gli array
Operazione SintassiMatlab
Commenti
Array addition a + b Array e matrix addition sonoidentiche
Array subtraction a ndash b Array e matrix subtraction sono identiche
Array multiplication a b Ciascun elemento del risultatoegrave pari al prodotto deglielementi corrispondenti nei due operandi
Matrix multiplication a b Prodotto di matrici
Array right division a b risultato(ij)=a(ij)b(ij)
Array left division a b risultato(ij)=b(ij)a(ij)
Matrix right division a b ainversa(b)
Matrix left division a b inversa(a)b
Array exponentiation
a ^ b risultato(ij)=a(ij)^b(ij)
Informatica B ndash AA 2008-2009
Matrix left division
Serve per risolvere sistemi di equazioni linearia11x1+a12x2+a13x3=b1
a21x1+a22x2+a23x3=b2
a31x1+a32x2+a33x3=b3
puograve essere espresso come Ax=B con
A = B= x =
di conseguenza x = A-1B=AB
a11 a12 a13a21 a22 a23a31 a32 a33
b1b2b3
x1x2x3
Informatica B ndash AA 2008-2009
Altre funzioni
Funzione Scopo
ceil(x) approssima x allrsquointeroimmediatamente maggiore
floor(x) approssima x allrsquointeroimmediatamente minore
fix(x) approssima x allrsquointero piugrave vicinoverso lo zero
max(x) ritorna il valore massimo nel vettorex e opzionalmente la collocazionedi questo valore in x
min(x) ritorna il valore minimo nel vettore x e opzionalmente la collocazione diquesto valore nel vettore
mod(mn) mod(xy) egrave x - ny dove n = floor(xy) se y ~= 0
round(x) approssima x allrsquointero piugrave vicino
rand(N) genera una matrice di NxN numericasuali
Informatica B ndash AA 2008-2009
Diagrammi a due dimensioni
Diagramma = insieme di coppie che rappresentano coordinate di puntiSi usano vettori per contenere sequenze ordinate dei valori di ognuna delle coordinateplot(xy) disegna digramma cartesiano dei punti che hanno
valori delle ascisse in x delle ordinate in y e li congiunge con una linea per dare continuitagrave al grafico
funzioni xlabel per visualizzare nome asse ascisse ylabel per ordinate title per il titolo
-10 -8 -6 -4 -2 0 2 4 6 8 10-1000
-800
-600
-400
-200
0
200
400
600
800
1000
ascisse
ordi
nate
cubica
Informatica B ndash AA 2008-2009
Un esempio di cinematica
Due treni partono da due stazioni adiacenti che distano 15km viaggiando a velocitagrave di 50ms e 30ms in direzione oppostaCostruire un grafico che mostra il loro movimento fino a quando il piugrave veloce raggiunge la destinazione
Il piugrave veloce impiega 1500050=300sbull DistanzaTreno1=50t bull DistranzaTreno2=15000-30t (per mostrare la
provenienza dalla direzione opposta)
Informatica B ndash AA 2008-2009
Soluzione
t=01300p1=50 tp2=15000-30 tplot(tp1)hold on adesso egrave possibile inserire nuove curve sul grafico
plot(tp2)hold off
Informatica B ndash AA 2008-2009
Risultati ottenuti con lrsquoesempio
Informatica B ndash AA 2008-2009
Assegnamento (4) ndash funzioni predefinite
Esempia = zeros(2)
b = zeros(23)
c = [1 2 3 4]d = zeros(size(c))
0 00 0
0 0 00 0 0
0 00 0
Informatica B ndash AA 2008-2009
Assegnamento (5) ndash uso di uno scalare per assegnare valori ad un array
Esempiom(14 13) = 3
Regola il modo con cui uno scalare viene assegnato ad un array dipende dalla forma dellrsquoarray che viene specificata a sinistra dellrsquoassegnamentoEsempio 2
m(12 12) = 4
hellip la regola si applica anche ai sottoarray
3 3 33 3 33 3 33 3 3
4 4 34 4 33 3 33 3 3
Informatica B ndash AA 2008-2009
Variabili predefinite
Matlab definisce un insieme di variabili predefinite (es pi)Queste variabili corrispondono in qualche caso a costanti
Attenzione Il valore di queste variabili puograve essere modificato per esempio
bull circ1=2pi10bull pi = 3bull circ2=2pi10
Il valore di circ2 non saragrave piugrave la circonferenza di un cerchio
E` fortemente sconsigliato modificare il valore di unavariabile predefinita
Informatica B ndash AA 2008-2009
Variabili predefinite piugrave comuni
Variabile Scopo
pi contiene 15 cifre significative di π
i j contiene il valore i ( )
inf (o Inf) rappresentazione dellrsquoinfinito(ottenuto di solito come risultato diuna divisione per 0)
nan Not-A-Number egrave il risultato di unaoperazione matematica non definita es 00
clock contiene la data e lrsquoorario corrente E` un vettore di sei elementi (anno mese giorno ora minuti secondi)
date contiene la data corrente sotto forma di stringa
eps epsilon la piugrave piccola differenzarappresentabile tra due numeri
ans Variabile speciale usata per immagazzinare risultati non assegnati ad altre variabili
1minus
Informatica B ndash AA 2008-2009
Operazioni per gli scalari + - ^Operazioni per gli array
Array operation viene eseguita sugli elementi degli array coinvolti (devono avere lo stesso numero di righe e colonne)
a= b= a+b = ab=
Matrix operation segue le regole dellrsquoalgebra lineare
a= b= ab =
Operazioni con scalari e array
1 23 4
2 35 7
3 58 11
2 615 28
1 23 4
2 35 7
12 1726 37 sumk
kjik ba
Informatica B ndash AA 2008-2009
Operazioni tipiche per gli array
Operazione SintassiMatlab
Commenti
Array addition a + b Array e matrix addition sonoidentiche
Array subtraction a ndash b Array e matrix subtraction sono identiche
Array multiplication a b Ciascun elemento del risultatoegrave pari al prodotto deglielementi corrispondenti nei due operandi
Matrix multiplication a b Prodotto di matrici
Array right division a b risultato(ij)=a(ij)b(ij)
Array left division a b risultato(ij)=b(ij)a(ij)
Matrix right division a b ainversa(b)
Matrix left division a b inversa(a)b
Array exponentiation
a ^ b risultato(ij)=a(ij)^b(ij)
Informatica B ndash AA 2008-2009
Matrix left division
Serve per risolvere sistemi di equazioni linearia11x1+a12x2+a13x3=b1
a21x1+a22x2+a23x3=b2
a31x1+a32x2+a33x3=b3
puograve essere espresso come Ax=B con
A = B= x =
di conseguenza x = A-1B=AB
a11 a12 a13a21 a22 a23a31 a32 a33
b1b2b3
x1x2x3
Informatica B ndash AA 2008-2009
Altre funzioni
Funzione Scopo
ceil(x) approssima x allrsquointeroimmediatamente maggiore
floor(x) approssima x allrsquointeroimmediatamente minore
fix(x) approssima x allrsquointero piugrave vicinoverso lo zero
max(x) ritorna il valore massimo nel vettorex e opzionalmente la collocazionedi questo valore in x
min(x) ritorna il valore minimo nel vettore x e opzionalmente la collocazione diquesto valore nel vettore
mod(mn) mod(xy) egrave x - ny dove n = floor(xy) se y ~= 0
round(x) approssima x allrsquointero piugrave vicino
rand(N) genera una matrice di NxN numericasuali
Informatica B ndash AA 2008-2009
Diagrammi a due dimensioni
Diagramma = insieme di coppie che rappresentano coordinate di puntiSi usano vettori per contenere sequenze ordinate dei valori di ognuna delle coordinateplot(xy) disegna digramma cartesiano dei punti che hanno
valori delle ascisse in x delle ordinate in y e li congiunge con una linea per dare continuitagrave al grafico
funzioni xlabel per visualizzare nome asse ascisse ylabel per ordinate title per il titolo
-10 -8 -6 -4 -2 0 2 4 6 8 10-1000
-800
-600
-400
-200
0
200
400
600
800
1000
ascisse
ordi
nate
cubica
Informatica B ndash AA 2008-2009
Un esempio di cinematica
Due treni partono da due stazioni adiacenti che distano 15km viaggiando a velocitagrave di 50ms e 30ms in direzione oppostaCostruire un grafico che mostra il loro movimento fino a quando il piugrave veloce raggiunge la destinazione
Il piugrave veloce impiega 1500050=300sbull DistanzaTreno1=50t bull DistranzaTreno2=15000-30t (per mostrare la
provenienza dalla direzione opposta)
Informatica B ndash AA 2008-2009
Soluzione
t=01300p1=50 tp2=15000-30 tplot(tp1)hold on adesso egrave possibile inserire nuove curve sul grafico
plot(tp2)hold off
Informatica B ndash AA 2008-2009
Risultati ottenuti con lrsquoesempio
Informatica B ndash AA 2008-2009
Assegnamento (5) ndash uso di uno scalare per assegnare valori ad un array
Esempiom(14 13) = 3
Regola il modo con cui uno scalare viene assegnato ad un array dipende dalla forma dellrsquoarray che viene specificata a sinistra dellrsquoassegnamentoEsempio 2
m(12 12) = 4
hellip la regola si applica anche ai sottoarray
3 3 33 3 33 3 33 3 3
4 4 34 4 33 3 33 3 3
Informatica B ndash AA 2008-2009
Variabili predefinite
Matlab definisce un insieme di variabili predefinite (es pi)Queste variabili corrispondono in qualche caso a costanti
Attenzione Il valore di queste variabili puograve essere modificato per esempio
bull circ1=2pi10bull pi = 3bull circ2=2pi10
Il valore di circ2 non saragrave piugrave la circonferenza di un cerchio
E` fortemente sconsigliato modificare il valore di unavariabile predefinita
Informatica B ndash AA 2008-2009
Variabili predefinite piugrave comuni
Variabile Scopo
pi contiene 15 cifre significative di π
i j contiene il valore i ( )
inf (o Inf) rappresentazione dellrsquoinfinito(ottenuto di solito come risultato diuna divisione per 0)
nan Not-A-Number egrave il risultato di unaoperazione matematica non definita es 00
clock contiene la data e lrsquoorario corrente E` un vettore di sei elementi (anno mese giorno ora minuti secondi)
date contiene la data corrente sotto forma di stringa
eps epsilon la piugrave piccola differenzarappresentabile tra due numeri
ans Variabile speciale usata per immagazzinare risultati non assegnati ad altre variabili
1minus
Informatica B ndash AA 2008-2009
Operazioni per gli scalari + - ^Operazioni per gli array
Array operation viene eseguita sugli elementi degli array coinvolti (devono avere lo stesso numero di righe e colonne)
a= b= a+b = ab=
Matrix operation segue le regole dellrsquoalgebra lineare
a= b= ab =
Operazioni con scalari e array
1 23 4
2 35 7
3 58 11
2 615 28
1 23 4
2 35 7
12 1726 37 sumk
kjik ba
Informatica B ndash AA 2008-2009
Operazioni tipiche per gli array
Operazione SintassiMatlab
Commenti
Array addition a + b Array e matrix addition sonoidentiche
Array subtraction a ndash b Array e matrix subtraction sono identiche
Array multiplication a b Ciascun elemento del risultatoegrave pari al prodotto deglielementi corrispondenti nei due operandi
Matrix multiplication a b Prodotto di matrici
Array right division a b risultato(ij)=a(ij)b(ij)
Array left division a b risultato(ij)=b(ij)a(ij)
Matrix right division a b ainversa(b)
Matrix left division a b inversa(a)b
Array exponentiation
a ^ b risultato(ij)=a(ij)^b(ij)
Informatica B ndash AA 2008-2009
Matrix left division
Serve per risolvere sistemi di equazioni linearia11x1+a12x2+a13x3=b1
a21x1+a22x2+a23x3=b2
a31x1+a32x2+a33x3=b3
puograve essere espresso come Ax=B con
A = B= x =
di conseguenza x = A-1B=AB
a11 a12 a13a21 a22 a23a31 a32 a33
b1b2b3
x1x2x3
Informatica B ndash AA 2008-2009
Altre funzioni
Funzione Scopo
ceil(x) approssima x allrsquointeroimmediatamente maggiore
floor(x) approssima x allrsquointeroimmediatamente minore
fix(x) approssima x allrsquointero piugrave vicinoverso lo zero
max(x) ritorna il valore massimo nel vettorex e opzionalmente la collocazionedi questo valore in x
min(x) ritorna il valore minimo nel vettore x e opzionalmente la collocazione diquesto valore nel vettore
mod(mn) mod(xy) egrave x - ny dove n = floor(xy) se y ~= 0
round(x) approssima x allrsquointero piugrave vicino
rand(N) genera una matrice di NxN numericasuali
Informatica B ndash AA 2008-2009
Diagrammi a due dimensioni
Diagramma = insieme di coppie che rappresentano coordinate di puntiSi usano vettori per contenere sequenze ordinate dei valori di ognuna delle coordinateplot(xy) disegna digramma cartesiano dei punti che hanno
valori delle ascisse in x delle ordinate in y e li congiunge con una linea per dare continuitagrave al grafico
funzioni xlabel per visualizzare nome asse ascisse ylabel per ordinate title per il titolo
-10 -8 -6 -4 -2 0 2 4 6 8 10-1000
-800
-600
-400
-200
0
200
400
600
800
1000
ascisse
ordi
nate
cubica
Informatica B ndash AA 2008-2009
Un esempio di cinematica
Due treni partono da due stazioni adiacenti che distano 15km viaggiando a velocitagrave di 50ms e 30ms in direzione oppostaCostruire un grafico che mostra il loro movimento fino a quando il piugrave veloce raggiunge la destinazione
Il piugrave veloce impiega 1500050=300sbull DistanzaTreno1=50t bull DistranzaTreno2=15000-30t (per mostrare la
provenienza dalla direzione opposta)
Informatica B ndash AA 2008-2009
Soluzione
t=01300p1=50 tp2=15000-30 tplot(tp1)hold on adesso egrave possibile inserire nuove curve sul grafico
plot(tp2)hold off
Informatica B ndash AA 2008-2009
Risultati ottenuti con lrsquoesempio
Informatica B ndash AA 2008-2009
Variabili predefinite
Matlab definisce un insieme di variabili predefinite (es pi)Queste variabili corrispondono in qualche caso a costanti
Attenzione Il valore di queste variabili puograve essere modificato per esempio
bull circ1=2pi10bull pi = 3bull circ2=2pi10
Il valore di circ2 non saragrave piugrave la circonferenza di un cerchio
E` fortemente sconsigliato modificare il valore di unavariabile predefinita
Informatica B ndash AA 2008-2009
Variabili predefinite piugrave comuni
Variabile Scopo
pi contiene 15 cifre significative di π
i j contiene il valore i ( )
inf (o Inf) rappresentazione dellrsquoinfinito(ottenuto di solito come risultato diuna divisione per 0)
nan Not-A-Number egrave il risultato di unaoperazione matematica non definita es 00
clock contiene la data e lrsquoorario corrente E` un vettore di sei elementi (anno mese giorno ora minuti secondi)
date contiene la data corrente sotto forma di stringa
eps epsilon la piugrave piccola differenzarappresentabile tra due numeri
ans Variabile speciale usata per immagazzinare risultati non assegnati ad altre variabili
1minus
Informatica B ndash AA 2008-2009
Operazioni per gli scalari + - ^Operazioni per gli array
Array operation viene eseguita sugli elementi degli array coinvolti (devono avere lo stesso numero di righe e colonne)
a= b= a+b = ab=
Matrix operation segue le regole dellrsquoalgebra lineare
a= b= ab =
Operazioni con scalari e array
1 23 4
2 35 7
3 58 11
2 615 28
1 23 4
2 35 7
12 1726 37 sumk
kjik ba
Informatica B ndash AA 2008-2009
Operazioni tipiche per gli array
Operazione SintassiMatlab
Commenti
Array addition a + b Array e matrix addition sonoidentiche
Array subtraction a ndash b Array e matrix subtraction sono identiche
Array multiplication a b Ciascun elemento del risultatoegrave pari al prodotto deglielementi corrispondenti nei due operandi
Matrix multiplication a b Prodotto di matrici
Array right division a b risultato(ij)=a(ij)b(ij)
Array left division a b risultato(ij)=b(ij)a(ij)
Matrix right division a b ainversa(b)
Matrix left division a b inversa(a)b
Array exponentiation
a ^ b risultato(ij)=a(ij)^b(ij)
Informatica B ndash AA 2008-2009
Matrix left division
Serve per risolvere sistemi di equazioni linearia11x1+a12x2+a13x3=b1
a21x1+a22x2+a23x3=b2
a31x1+a32x2+a33x3=b3
puograve essere espresso come Ax=B con
A = B= x =
di conseguenza x = A-1B=AB
a11 a12 a13a21 a22 a23a31 a32 a33
b1b2b3
x1x2x3
Informatica B ndash AA 2008-2009
Altre funzioni
Funzione Scopo
ceil(x) approssima x allrsquointeroimmediatamente maggiore
floor(x) approssima x allrsquointeroimmediatamente minore
fix(x) approssima x allrsquointero piugrave vicinoverso lo zero
max(x) ritorna il valore massimo nel vettorex e opzionalmente la collocazionedi questo valore in x
min(x) ritorna il valore minimo nel vettore x e opzionalmente la collocazione diquesto valore nel vettore
mod(mn) mod(xy) egrave x - ny dove n = floor(xy) se y ~= 0
round(x) approssima x allrsquointero piugrave vicino
rand(N) genera una matrice di NxN numericasuali
Informatica B ndash AA 2008-2009
Diagrammi a due dimensioni
Diagramma = insieme di coppie che rappresentano coordinate di puntiSi usano vettori per contenere sequenze ordinate dei valori di ognuna delle coordinateplot(xy) disegna digramma cartesiano dei punti che hanno
valori delle ascisse in x delle ordinate in y e li congiunge con una linea per dare continuitagrave al grafico
funzioni xlabel per visualizzare nome asse ascisse ylabel per ordinate title per il titolo
-10 -8 -6 -4 -2 0 2 4 6 8 10-1000
-800
-600
-400
-200
0
200
400
600
800
1000
ascisse
ordi
nate
cubica
Informatica B ndash AA 2008-2009
Un esempio di cinematica
Due treni partono da due stazioni adiacenti che distano 15km viaggiando a velocitagrave di 50ms e 30ms in direzione oppostaCostruire un grafico che mostra il loro movimento fino a quando il piugrave veloce raggiunge la destinazione
Il piugrave veloce impiega 1500050=300sbull DistanzaTreno1=50t bull DistranzaTreno2=15000-30t (per mostrare la
provenienza dalla direzione opposta)
Informatica B ndash AA 2008-2009
Soluzione
t=01300p1=50 tp2=15000-30 tplot(tp1)hold on adesso egrave possibile inserire nuove curve sul grafico
plot(tp2)hold off
Informatica B ndash AA 2008-2009
Risultati ottenuti con lrsquoesempio
Informatica B ndash AA 2008-2009
Variabili predefinite piugrave comuni
Variabile Scopo
pi contiene 15 cifre significative di π
i j contiene il valore i ( )
inf (o Inf) rappresentazione dellrsquoinfinito(ottenuto di solito come risultato diuna divisione per 0)
nan Not-A-Number egrave il risultato di unaoperazione matematica non definita es 00
clock contiene la data e lrsquoorario corrente E` un vettore di sei elementi (anno mese giorno ora minuti secondi)
date contiene la data corrente sotto forma di stringa
eps epsilon la piugrave piccola differenzarappresentabile tra due numeri
ans Variabile speciale usata per immagazzinare risultati non assegnati ad altre variabili
1minus
Informatica B ndash AA 2008-2009
Operazioni per gli scalari + - ^Operazioni per gli array
Array operation viene eseguita sugli elementi degli array coinvolti (devono avere lo stesso numero di righe e colonne)
a= b= a+b = ab=
Matrix operation segue le regole dellrsquoalgebra lineare
a= b= ab =
Operazioni con scalari e array
1 23 4
2 35 7
3 58 11
2 615 28
1 23 4
2 35 7
12 1726 37 sumk
kjik ba
Informatica B ndash AA 2008-2009
Operazioni tipiche per gli array
Operazione SintassiMatlab
Commenti
Array addition a + b Array e matrix addition sonoidentiche
Array subtraction a ndash b Array e matrix subtraction sono identiche
Array multiplication a b Ciascun elemento del risultatoegrave pari al prodotto deglielementi corrispondenti nei due operandi
Matrix multiplication a b Prodotto di matrici
Array right division a b risultato(ij)=a(ij)b(ij)
Array left division a b risultato(ij)=b(ij)a(ij)
Matrix right division a b ainversa(b)
Matrix left division a b inversa(a)b
Array exponentiation
a ^ b risultato(ij)=a(ij)^b(ij)
Informatica B ndash AA 2008-2009
Matrix left division
Serve per risolvere sistemi di equazioni linearia11x1+a12x2+a13x3=b1
a21x1+a22x2+a23x3=b2
a31x1+a32x2+a33x3=b3
puograve essere espresso come Ax=B con
A = B= x =
di conseguenza x = A-1B=AB
a11 a12 a13a21 a22 a23a31 a32 a33
b1b2b3
x1x2x3
Informatica B ndash AA 2008-2009
Altre funzioni
Funzione Scopo
ceil(x) approssima x allrsquointeroimmediatamente maggiore
floor(x) approssima x allrsquointeroimmediatamente minore
fix(x) approssima x allrsquointero piugrave vicinoverso lo zero
max(x) ritorna il valore massimo nel vettorex e opzionalmente la collocazionedi questo valore in x
min(x) ritorna il valore minimo nel vettore x e opzionalmente la collocazione diquesto valore nel vettore
mod(mn) mod(xy) egrave x - ny dove n = floor(xy) se y ~= 0
round(x) approssima x allrsquointero piugrave vicino
rand(N) genera una matrice di NxN numericasuali
Informatica B ndash AA 2008-2009
Diagrammi a due dimensioni
Diagramma = insieme di coppie che rappresentano coordinate di puntiSi usano vettori per contenere sequenze ordinate dei valori di ognuna delle coordinateplot(xy) disegna digramma cartesiano dei punti che hanno
valori delle ascisse in x delle ordinate in y e li congiunge con una linea per dare continuitagrave al grafico
funzioni xlabel per visualizzare nome asse ascisse ylabel per ordinate title per il titolo
-10 -8 -6 -4 -2 0 2 4 6 8 10-1000
-800
-600
-400
-200
0
200
400
600
800
1000
ascisse
ordi
nate
cubica
Informatica B ndash AA 2008-2009
Un esempio di cinematica
Due treni partono da due stazioni adiacenti che distano 15km viaggiando a velocitagrave di 50ms e 30ms in direzione oppostaCostruire un grafico che mostra il loro movimento fino a quando il piugrave veloce raggiunge la destinazione
Il piugrave veloce impiega 1500050=300sbull DistanzaTreno1=50t bull DistranzaTreno2=15000-30t (per mostrare la
provenienza dalla direzione opposta)
Informatica B ndash AA 2008-2009
Soluzione
t=01300p1=50 tp2=15000-30 tplot(tp1)hold on adesso egrave possibile inserire nuove curve sul grafico
plot(tp2)hold off
Informatica B ndash AA 2008-2009
Risultati ottenuti con lrsquoesempio
Informatica B ndash AA 2008-2009
Operazioni per gli scalari + - ^Operazioni per gli array
Array operation viene eseguita sugli elementi degli array coinvolti (devono avere lo stesso numero di righe e colonne)
a= b= a+b = ab=
Matrix operation segue le regole dellrsquoalgebra lineare
a= b= ab =
Operazioni con scalari e array
1 23 4
2 35 7
3 58 11
2 615 28
1 23 4
2 35 7
12 1726 37 sumk
kjik ba
Informatica B ndash AA 2008-2009
Operazioni tipiche per gli array
Operazione SintassiMatlab
Commenti
Array addition a + b Array e matrix addition sonoidentiche
Array subtraction a ndash b Array e matrix subtraction sono identiche
Array multiplication a b Ciascun elemento del risultatoegrave pari al prodotto deglielementi corrispondenti nei due operandi
Matrix multiplication a b Prodotto di matrici
Array right division a b risultato(ij)=a(ij)b(ij)
Array left division a b risultato(ij)=b(ij)a(ij)
Matrix right division a b ainversa(b)
Matrix left division a b inversa(a)b
Array exponentiation
a ^ b risultato(ij)=a(ij)^b(ij)
Informatica B ndash AA 2008-2009
Matrix left division
Serve per risolvere sistemi di equazioni linearia11x1+a12x2+a13x3=b1
a21x1+a22x2+a23x3=b2
a31x1+a32x2+a33x3=b3
puograve essere espresso come Ax=B con
A = B= x =
di conseguenza x = A-1B=AB
a11 a12 a13a21 a22 a23a31 a32 a33
b1b2b3
x1x2x3
Informatica B ndash AA 2008-2009
Altre funzioni
Funzione Scopo
ceil(x) approssima x allrsquointeroimmediatamente maggiore
floor(x) approssima x allrsquointeroimmediatamente minore
fix(x) approssima x allrsquointero piugrave vicinoverso lo zero
max(x) ritorna il valore massimo nel vettorex e opzionalmente la collocazionedi questo valore in x
min(x) ritorna il valore minimo nel vettore x e opzionalmente la collocazione diquesto valore nel vettore
mod(mn) mod(xy) egrave x - ny dove n = floor(xy) se y ~= 0
round(x) approssima x allrsquointero piugrave vicino
rand(N) genera una matrice di NxN numericasuali
Informatica B ndash AA 2008-2009
Diagrammi a due dimensioni
Diagramma = insieme di coppie che rappresentano coordinate di puntiSi usano vettori per contenere sequenze ordinate dei valori di ognuna delle coordinateplot(xy) disegna digramma cartesiano dei punti che hanno
valori delle ascisse in x delle ordinate in y e li congiunge con una linea per dare continuitagrave al grafico
funzioni xlabel per visualizzare nome asse ascisse ylabel per ordinate title per il titolo
-10 -8 -6 -4 -2 0 2 4 6 8 10-1000
-800
-600
-400
-200
0
200
400
600
800
1000
ascisse
ordi
nate
cubica
Informatica B ndash AA 2008-2009
Un esempio di cinematica
Due treni partono da due stazioni adiacenti che distano 15km viaggiando a velocitagrave di 50ms e 30ms in direzione oppostaCostruire un grafico che mostra il loro movimento fino a quando il piugrave veloce raggiunge la destinazione
Il piugrave veloce impiega 1500050=300sbull DistanzaTreno1=50t bull DistranzaTreno2=15000-30t (per mostrare la
provenienza dalla direzione opposta)
Informatica B ndash AA 2008-2009
Soluzione
t=01300p1=50 tp2=15000-30 tplot(tp1)hold on adesso egrave possibile inserire nuove curve sul grafico
plot(tp2)hold off
Informatica B ndash AA 2008-2009
Risultati ottenuti con lrsquoesempio
Informatica B ndash AA 2008-2009
Operazioni tipiche per gli array
Operazione SintassiMatlab
Commenti
Array addition a + b Array e matrix addition sonoidentiche
Array subtraction a ndash b Array e matrix subtraction sono identiche
Array multiplication a b Ciascun elemento del risultatoegrave pari al prodotto deglielementi corrispondenti nei due operandi
Matrix multiplication a b Prodotto di matrici
Array right division a b risultato(ij)=a(ij)b(ij)
Array left division a b risultato(ij)=b(ij)a(ij)
Matrix right division a b ainversa(b)
Matrix left division a b inversa(a)b
Array exponentiation
a ^ b risultato(ij)=a(ij)^b(ij)
Informatica B ndash AA 2008-2009
Matrix left division
Serve per risolvere sistemi di equazioni linearia11x1+a12x2+a13x3=b1
a21x1+a22x2+a23x3=b2
a31x1+a32x2+a33x3=b3
puograve essere espresso come Ax=B con
A = B= x =
di conseguenza x = A-1B=AB
a11 a12 a13a21 a22 a23a31 a32 a33
b1b2b3
x1x2x3
Informatica B ndash AA 2008-2009
Altre funzioni
Funzione Scopo
ceil(x) approssima x allrsquointeroimmediatamente maggiore
floor(x) approssima x allrsquointeroimmediatamente minore
fix(x) approssima x allrsquointero piugrave vicinoverso lo zero
max(x) ritorna il valore massimo nel vettorex e opzionalmente la collocazionedi questo valore in x
min(x) ritorna il valore minimo nel vettore x e opzionalmente la collocazione diquesto valore nel vettore
mod(mn) mod(xy) egrave x - ny dove n = floor(xy) se y ~= 0
round(x) approssima x allrsquointero piugrave vicino
rand(N) genera una matrice di NxN numericasuali
Informatica B ndash AA 2008-2009
Diagrammi a due dimensioni
Diagramma = insieme di coppie che rappresentano coordinate di puntiSi usano vettori per contenere sequenze ordinate dei valori di ognuna delle coordinateplot(xy) disegna digramma cartesiano dei punti che hanno
valori delle ascisse in x delle ordinate in y e li congiunge con una linea per dare continuitagrave al grafico
funzioni xlabel per visualizzare nome asse ascisse ylabel per ordinate title per il titolo
-10 -8 -6 -4 -2 0 2 4 6 8 10-1000
-800
-600
-400
-200
0
200
400
600
800
1000
ascisse
ordi
nate
cubica
Informatica B ndash AA 2008-2009
Un esempio di cinematica
Due treni partono da due stazioni adiacenti che distano 15km viaggiando a velocitagrave di 50ms e 30ms in direzione oppostaCostruire un grafico che mostra il loro movimento fino a quando il piugrave veloce raggiunge la destinazione
Il piugrave veloce impiega 1500050=300sbull DistanzaTreno1=50t bull DistranzaTreno2=15000-30t (per mostrare la
provenienza dalla direzione opposta)
Informatica B ndash AA 2008-2009
Soluzione
t=01300p1=50 tp2=15000-30 tplot(tp1)hold on adesso egrave possibile inserire nuove curve sul grafico
plot(tp2)hold off
Informatica B ndash AA 2008-2009
Risultati ottenuti con lrsquoesempio
Informatica B ndash AA 2008-2009
Matrix left division
Serve per risolvere sistemi di equazioni linearia11x1+a12x2+a13x3=b1
a21x1+a22x2+a23x3=b2
a31x1+a32x2+a33x3=b3
puograve essere espresso come Ax=B con
A = B= x =
di conseguenza x = A-1B=AB
a11 a12 a13a21 a22 a23a31 a32 a33
b1b2b3
x1x2x3
Informatica B ndash AA 2008-2009
Altre funzioni
Funzione Scopo
ceil(x) approssima x allrsquointeroimmediatamente maggiore
floor(x) approssima x allrsquointeroimmediatamente minore
fix(x) approssima x allrsquointero piugrave vicinoverso lo zero
max(x) ritorna il valore massimo nel vettorex e opzionalmente la collocazionedi questo valore in x
min(x) ritorna il valore minimo nel vettore x e opzionalmente la collocazione diquesto valore nel vettore
mod(mn) mod(xy) egrave x - ny dove n = floor(xy) se y ~= 0
round(x) approssima x allrsquointero piugrave vicino
rand(N) genera una matrice di NxN numericasuali
Informatica B ndash AA 2008-2009
Diagrammi a due dimensioni
Diagramma = insieme di coppie che rappresentano coordinate di puntiSi usano vettori per contenere sequenze ordinate dei valori di ognuna delle coordinateplot(xy) disegna digramma cartesiano dei punti che hanno
valori delle ascisse in x delle ordinate in y e li congiunge con una linea per dare continuitagrave al grafico
funzioni xlabel per visualizzare nome asse ascisse ylabel per ordinate title per il titolo
-10 -8 -6 -4 -2 0 2 4 6 8 10-1000
-800
-600
-400
-200
0
200
400
600
800
1000
ascisse
ordi
nate
cubica
Informatica B ndash AA 2008-2009
Un esempio di cinematica
Due treni partono da due stazioni adiacenti che distano 15km viaggiando a velocitagrave di 50ms e 30ms in direzione oppostaCostruire un grafico che mostra il loro movimento fino a quando il piugrave veloce raggiunge la destinazione
Il piugrave veloce impiega 1500050=300sbull DistanzaTreno1=50t bull DistranzaTreno2=15000-30t (per mostrare la
provenienza dalla direzione opposta)
Informatica B ndash AA 2008-2009
Soluzione
t=01300p1=50 tp2=15000-30 tplot(tp1)hold on adesso egrave possibile inserire nuove curve sul grafico
plot(tp2)hold off
Informatica B ndash AA 2008-2009
Risultati ottenuti con lrsquoesempio
Informatica B ndash AA 2008-2009
Altre funzioni
Funzione Scopo
ceil(x) approssima x allrsquointeroimmediatamente maggiore
floor(x) approssima x allrsquointeroimmediatamente minore
fix(x) approssima x allrsquointero piugrave vicinoverso lo zero
max(x) ritorna il valore massimo nel vettorex e opzionalmente la collocazionedi questo valore in x
min(x) ritorna il valore minimo nel vettore x e opzionalmente la collocazione diquesto valore nel vettore
mod(mn) mod(xy) egrave x - ny dove n = floor(xy) se y ~= 0
round(x) approssima x allrsquointero piugrave vicino
rand(N) genera una matrice di NxN numericasuali
Informatica B ndash AA 2008-2009
Diagrammi a due dimensioni
Diagramma = insieme di coppie che rappresentano coordinate di puntiSi usano vettori per contenere sequenze ordinate dei valori di ognuna delle coordinateplot(xy) disegna digramma cartesiano dei punti che hanno
valori delle ascisse in x delle ordinate in y e li congiunge con una linea per dare continuitagrave al grafico
funzioni xlabel per visualizzare nome asse ascisse ylabel per ordinate title per il titolo
-10 -8 -6 -4 -2 0 2 4 6 8 10-1000
-800
-600
-400
-200
0
200
400
600
800
1000
ascisse
ordi
nate
cubica
Informatica B ndash AA 2008-2009
Un esempio di cinematica
Due treni partono da due stazioni adiacenti che distano 15km viaggiando a velocitagrave di 50ms e 30ms in direzione oppostaCostruire un grafico che mostra il loro movimento fino a quando il piugrave veloce raggiunge la destinazione
Il piugrave veloce impiega 1500050=300sbull DistanzaTreno1=50t bull DistranzaTreno2=15000-30t (per mostrare la
provenienza dalla direzione opposta)
Informatica B ndash AA 2008-2009
Soluzione
t=01300p1=50 tp2=15000-30 tplot(tp1)hold on adesso egrave possibile inserire nuove curve sul grafico
plot(tp2)hold off
Informatica B ndash AA 2008-2009
Risultati ottenuti con lrsquoesempio
Informatica B ndash AA 2008-2009
Diagrammi a due dimensioni
Diagramma = insieme di coppie che rappresentano coordinate di puntiSi usano vettori per contenere sequenze ordinate dei valori di ognuna delle coordinateplot(xy) disegna digramma cartesiano dei punti che hanno
valori delle ascisse in x delle ordinate in y e li congiunge con una linea per dare continuitagrave al grafico
funzioni xlabel per visualizzare nome asse ascisse ylabel per ordinate title per il titolo
-10 -8 -6 -4 -2 0 2 4 6 8 10-1000
-800
-600
-400
-200
0
200
400
600
800
1000
ascisse
ordi
nate
cubica
Informatica B ndash AA 2008-2009
Un esempio di cinematica
Due treni partono da due stazioni adiacenti che distano 15km viaggiando a velocitagrave di 50ms e 30ms in direzione oppostaCostruire un grafico che mostra il loro movimento fino a quando il piugrave veloce raggiunge la destinazione
Il piugrave veloce impiega 1500050=300sbull DistanzaTreno1=50t bull DistranzaTreno2=15000-30t (per mostrare la
provenienza dalla direzione opposta)
Informatica B ndash AA 2008-2009
Soluzione
t=01300p1=50 tp2=15000-30 tplot(tp1)hold on adesso egrave possibile inserire nuove curve sul grafico
plot(tp2)hold off
Informatica B ndash AA 2008-2009
Risultati ottenuti con lrsquoesempio
Informatica B ndash AA 2008-2009
Un esempio di cinematica
Due treni partono da due stazioni adiacenti che distano 15km viaggiando a velocitagrave di 50ms e 30ms in direzione oppostaCostruire un grafico che mostra il loro movimento fino a quando il piugrave veloce raggiunge la destinazione
Il piugrave veloce impiega 1500050=300sbull DistanzaTreno1=50t bull DistranzaTreno2=15000-30t (per mostrare la
provenienza dalla direzione opposta)
Informatica B ndash AA 2008-2009
Soluzione
t=01300p1=50 tp2=15000-30 tplot(tp1)hold on adesso egrave possibile inserire nuove curve sul grafico
plot(tp2)hold off
Informatica B ndash AA 2008-2009
Risultati ottenuti con lrsquoesempio
Informatica B ndash AA 2008-2009
Soluzione
t=01300p1=50 tp2=15000-30 tplot(tp1)hold on adesso egrave possibile inserire nuove curve sul grafico
plot(tp2)hold off
Informatica B ndash AA 2008-2009
Risultati ottenuti con lrsquoesempio
Informatica B ndash AA 2008-2009
Risultati ottenuti con lrsquoesempio