Matlab: Variabili e Array - Politecnico di...

21
Informatica B – A.A 2008-2009 Matlab: Variabili e Array Informatica B

Transcript of Matlab: Variabili e Array - Politecnico di...

Page 1: Matlab: Variabili e Array - Politecnico di Milanohome.deib.polimi.it/loiacono/uploads/Teaching/InfoB0809/...Informatica B – A.A 2008-2009 Array e variabili L’unità fondamentale

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

Page 2: Matlab: Variabili e Array - Politecnico di Milanohome.deib.polimi.it/loiacono/uploads/Teaching/InfoB0809/...Informatica B – A.A 2008-2009 Array e variabili L’unità fondamentale

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

Page 3: Matlab: Variabili e Array - Politecnico di Milanohome.deib.polimi.it/loiacono/uploads/Teaching/InfoB0809/...Informatica B – A.A 2008-2009 Array e variabili L’unità fondamentale

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

Page 4: Matlab: Variabili e Array - Politecnico di Milanohome.deib.polimi.it/loiacono/uploads/Teaching/InfoB0809/...Informatica B – A.A 2008-2009 Array e variabili L’unità fondamentale

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

Page 5: Matlab: Variabili e Array - Politecnico di Milanohome.deib.polimi.it/loiacono/uploads/Teaching/InfoB0809/...Informatica B – A.A 2008-2009 Array e variabili L’unità fondamentale

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

Page 6: Matlab: Variabili e Array - Politecnico di Milanohome.deib.polimi.it/loiacono/uploads/Teaching/InfoB0809/...Informatica B – A.A 2008-2009 Array e variabili L’unità fondamentale

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

Page 7: Matlab: Variabili e Array - Politecnico di Milanohome.deib.polimi.it/loiacono/uploads/Teaching/InfoB0809/...Informatica B – A.A 2008-2009 Array e variabili L’unità fondamentale

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

Page 8: Matlab: Variabili e Array - Politecnico di Milanohome.deib.polimi.it/loiacono/uploads/Teaching/InfoB0809/...Informatica B – A.A 2008-2009 Array e variabili L’unità fondamentale

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

Page 9: Matlab: Variabili e Array - Politecnico di Milanohome.deib.polimi.it/loiacono/uploads/Teaching/InfoB0809/...Informatica B – A.A 2008-2009 Array e variabili L’unità fondamentale

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

Page 10: Matlab: Variabili e Array - Politecnico di Milanohome.deib.polimi.it/loiacono/uploads/Teaching/InfoB0809/...Informatica B – A.A 2008-2009 Array e variabili L’unità fondamentale

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

Page 11: Matlab: Variabili e Array - Politecnico di Milanohome.deib.polimi.it/loiacono/uploads/Teaching/InfoB0809/...Informatica B – A.A 2008-2009 Array e variabili L’unità fondamentale

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

Page 12: Matlab: Variabili e Array - Politecnico di Milanohome.deib.polimi.it/loiacono/uploads/Teaching/InfoB0809/...Informatica B – A.A 2008-2009 Array e variabili L’unità fondamentale

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

Page 13: Matlab: Variabili e Array - Politecnico di Milanohome.deib.polimi.it/loiacono/uploads/Teaching/InfoB0809/...Informatica B – A.A 2008-2009 Array e variabili L’unità fondamentale

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

Page 14: Matlab: Variabili e Array - Politecnico di Milanohome.deib.polimi.it/loiacono/uploads/Teaching/InfoB0809/...Informatica B – A.A 2008-2009 Array e variabili L’unità fondamentale

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

Page 15: Matlab: Variabili e Array - Politecnico di Milanohome.deib.polimi.it/loiacono/uploads/Teaching/InfoB0809/...Informatica B – A.A 2008-2009 Array e variabili L’unità fondamentale

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

Page 16: Matlab: Variabili e Array - Politecnico di Milanohome.deib.polimi.it/loiacono/uploads/Teaching/InfoB0809/...Informatica B – A.A 2008-2009 Array e variabili L’unità fondamentale

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

Page 17: Matlab: Variabili e Array - Politecnico di Milanohome.deib.polimi.it/loiacono/uploads/Teaching/InfoB0809/...Informatica B – A.A 2008-2009 Array e variabili L’unità fondamentale

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

Page 18: Matlab: Variabili e Array - Politecnico di Milanohome.deib.polimi.it/loiacono/uploads/Teaching/InfoB0809/...Informatica B – A.A 2008-2009 Array e variabili L’unità fondamentale

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

Page 19: Matlab: Variabili e Array - Politecnico di Milanohome.deib.polimi.it/loiacono/uploads/Teaching/InfoB0809/...Informatica B – A.A 2008-2009 Array e variabili L’unità fondamentale

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

Page 20: Matlab: Variabili e Array - Politecnico di Milanohome.deib.polimi.it/loiacono/uploads/Teaching/InfoB0809/...Informatica B – A.A 2008-2009 Array e variabili L’unità fondamentale

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

Page 21: Matlab: Variabili e Array - Politecnico di Milanohome.deib.polimi.it/loiacono/uploads/Teaching/InfoB0809/...Informatica B – A.A 2008-2009 Array e variabili L’unità fondamentale

Informatica B ndash AA 2008-2009

Risultati ottenuti con lrsquoesempio