A.A. 2006-2007Introduzione a Matlab1 Laboratorio di Informatica Sara Poltronieri :...

15
A.A. 2006-2007 Introduzione a Matlab 1 Laboratorio di Laboratorio di Informatica Informatica Sara Poltronieri : [email protected] A.A. 2006-2007

Transcript of A.A. 2006-2007Introduzione a Matlab1 Laboratorio di Informatica Sara Poltronieri :...

Page 1: A.A. 2006-2007Introduzione a Matlab1 Laboratorio di Informatica Sara Poltronieri : sara.poltronieri@unipd.it A.A. 2006-2007.

A.A. 2006-2007 Introduzione a Matlab 1

Laboratorio di InformaticaLaboratorio di Informatica

Sara Poltronieri : [email protected]

A.A. 2006-2007

Page 2: A.A. 2006-2007Introduzione a Matlab1 Laboratorio di Informatica Sara Poltronieri : sara.poltronieri@unipd.it A.A. 2006-2007.

A.A. 2006-2007 Introduzione a Matlab 2

MATrix LABoratory

• MATLABMATLAB è nato principalmente come programma destinato alla gestione di matrici. E’ un interprete di comandi in cui l’unità base dei dati è un vettore o una matrice.

• I comandi possono essere forniti interattivamente o contenuti in files su disco (M-files).

• Comprende un vasto set di funzioni predefinite e numerose librerie (toolbox) per svariate applicazioni che possono essere ampliate.

• Ha una buona potenzialità grafica.

• Esistono versioni di MATLAB per Unix/Linux, Windows e MAC. I files creati sono portabili da una piattaforma all’altra.

Page 3: A.A. 2006-2007Introduzione a Matlab1 Laboratorio di Informatica Sara Poltronieri : sara.poltronieri@unipd.it A.A. 2006-2007.

A.A. 2006-2007 Introduzione a Matlab 3

COSA SI PUO’ FARECOSA SI PUO’ FARECON MATLAB...CON MATLAB...

(... oltre ad usarlo come calcolatrice ...)

ALCUNE POTENZIALITA’ALCUNE POTENZIALITA’

Page 4: A.A. 2006-2007Introduzione a Matlab1 Laboratorio di Informatica Sara Poltronieri : sara.poltronieri@unipd.it A.A. 2006-2007.

A.A. 2006-2007 Introduzione a Matlab 4

Calcolo matriciale

>> A = magic(3)>> B = [4 5 0; 3 8 3; 4 9 1]>> A*B

>> A*B

ans =

59 102 9 55 118 22 51 110 29

Matlab lavora con le matrici.

Page 5: A.A. 2006-2007Introduzione a Matlab1 Laboratorio di Informatica Sara Poltronieri : sara.poltronieri@unipd.it A.A. 2006-2007.

A.A. 2006-2007 Introduzione a Matlab 5

Soluzione di equazioni

>> s = solve('cos(2*x)+sin(x)=1')

s =

[ 0]

[ pi]

[ 1/6*pi]

[ 5/6*pi]

Page 6: A.A. 2006-2007Introduzione a Matlab1 Laboratorio di Informatica Sara Poltronieri : sara.poltronieri@unipd.it A.A. 2006-2007.

A.A. 2006-2007 Introduzione a Matlab 6

Grafico di una funzione ...

>> fplot(inline('2*(sin(x+3)/(x+3))*(4*x^2)'),[-10 10])

Page 7: A.A. 2006-2007Introduzione a Matlab1 Laboratorio di Informatica Sara Poltronieri : sara.poltronieri@unipd.it A.A. 2006-2007.

A.A. 2006-2007 Introduzione a Matlab 7

... grafico 3D di una funzione...

-1

-0.5

0

0.5

1

-1

-0.5

0

0.5

10

5

10

15

20

25

30

35

>> t = 0:pi/50:1>> plot3(sin(t),cos(t),t)>> grid on>> axis square

Page 8: A.A. 2006-2007Introduzione a Matlab1 Laboratorio di Informatica Sara Poltronieri : sara.poltronieri@unipd.it A.A. 2006-2007.

A.A. 2006-2007 Introduzione a Matlab 8

... derivata della funzione

>> syms x % calcolo simbolico>> f= 2*(sin(x+3)/(x+3))*(4*x^2)>> diff(f)

ans =8*cos(x+3)/(x+3)*x^2-8*sin(x+3)/(x+3)^2*x^2+16*sin(x+3)/(x+3)*x

>> pretty(ans)

2 2

cos(x + 3) x sin(x + 3) x sin(x + 3) x

8 ------------- - 8 ------------- + 16 ------------

x + 3 2 x + 3

(x + 3)

Page 9: A.A. 2006-2007Introduzione a Matlab1 Laboratorio di Informatica Sara Poltronieri : sara.poltronieri@unipd.it A.A. 2006-2007.

A.A. 2006-2007 Introduzione a Matlab 9

Grafici 3D>> [X,Y,Z]= peaks(30)>> surfc(X,Y,Z)>> colormap hsv>> axis([-3 3 -3 3 -10 5])>> grid on

Page 10: A.A. 2006-2007Introduzione a Matlab1 Laboratorio di Informatica Sara Poltronieri : sara.poltronieri@unipd.it A.A. 2006-2007.

A.A. 2006-2007 Introduzione a Matlab 10

Altri esempi 3D

Page 11: A.A. 2006-2007Introduzione a Matlab1 Laboratorio di Informatica Sara Poltronieri : sara.poltronieri@unipd.it A.A. 2006-2007.

A.A. 2006-2007 Introduzione a Matlab 11

2

4

6

30

210

60

240

90

270

120

300

150

330

180 0

28%

6%

22%

33%

11%

Grafici

>> x = [1 3 0.5 2.5 2]>> explode = [0 1 0 0 0]>> pie3(x,explode)>> colormap hsv

>> theta = 2*pi*rand(1,50);

>> rose(theta)

Page 12: A.A. 2006-2007Introduzione a Matlab1 Laboratorio di Informatica Sara Poltronieri : sara.poltronieri@unipd.it A.A. 2006-2007.

A.A. 2006-2007 Introduzione a Matlab 12

Istogrammi

>> Y = cool(7);>> bar3(Y,'detached')>> title('Detached')

Page 13: A.A. 2006-2007Introduzione a Matlab1 Laboratorio di Informatica Sara Poltronieri : sara.poltronieri@unipd.it A.A. 2006-2007.

A.A. 2006-2007 Introduzione a Matlab 13

Il geoide!!

Page 14: A.A. 2006-2007Introduzione a Matlab1 Laboratorio di Informatica Sara Poltronieri : sara.poltronieri@unipd.it A.A. 2006-2007.

A.A. 2006-2007 Introduzione a Matlab 14

Plot di immagini 2D in 3D

>> load earthsphere; h = findobj('Type','surface');hemisphere = [ones(257,125),... X,... ones(257,125)];set(h,'CData',flipud(hemisphere),'FaceColor','texturemap')colormap(map)axis equalview([90 0])set(gca,'CameraViewAngleMode','manual')view([65 30])

Page 15: A.A. 2006-2007Introduzione a Matlab1 Laboratorio di Informatica Sara Poltronieri : sara.poltronieri@unipd.it A.A. 2006-2007.

A.A. 2006-2007 Introduzione a Matlab 15

OCTAVE – Workshop

MATLAB(commerciale, licenza costosa!!)

Octave WorkshopOctave