A.A. 2006-2007Introduzione a Matlab1 Laboratorio di Informatica Sara Poltronieri :...
-
Upload
tiziana-radaelli -
Category
Documents
-
view
215 -
download
1
Transcript of A.A. 2006-2007Introduzione a Matlab1 Laboratorio di Informatica Sara Poltronieri :...
A.A. 2006-2007 Introduzione a Matlab 1
Laboratorio di InformaticaLaboratorio di Informatica
Sara Poltronieri : [email protected]
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.
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’
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.
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]
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])
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
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)
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
A.A. 2006-2007 Introduzione a Matlab 10
Altri esempi 3D
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)
A.A. 2006-2007 Introduzione a Matlab 12
Istogrammi
>> Y = cool(7);>> bar3(Y,'detached')>> title('Detached')
A.A. 2006-2007 Introduzione a Matlab 13
Il geoide!!
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])
A.A. 2006-2007 Introduzione a Matlab 15
OCTAVE – Workshop
MATLAB(commerciale, licenza costosa!!)
Octave WorkshopOctave