MATLAB - Programmazione - 1
Antonino Polimeno
antonino.polimeno@unipd.it
Programmazione
− Script
− Lista di comandi che viene eseguita in sequenza. Si
salvano come file script.m e devono risiedere nel path da cui vengono richiamati.
− >>script esegue lo script script
− Funzioni (functions)
− Simili agli script, ma con un argomento
− Il file funcname.m inizia con
function [output]=funcname(input)
− per vedere una funzione
>>type funcnameCalcolo interattivo
− Matlab è interattivo, e non occorre dichiarare le variabili
>> 2+3*4/2
>> a=5e-3; b=1; a+b
− Molte costanti sono predefinite
>> cos(pi)
>> abs(1+i)
>> sin(pi)
t=0:.01:2*pi; % Grafico polare
polar(t,abs(sin(2*t).*cos(2*t))); x=0:0.05:5; % Grafico lineare y=sin(x.^2);
plot(x,y);
x = 0:0.1:4; % stem plot y = sin(x.^2).*exp(-x);
stem(x,y)
Grafica - 1
z=peaks(25); % mesh mesh(z);
z=peaks(25); % surface surf(z);
colormap(jet);
z=peaks(25); % contour contour(z,16);
Grafica - 2
− I vettori (arrays) sono definiti
>> v = [1, 2, 4, 5]
>> w = [1; 2; 4; 5]
− Le matrici (2D arrays) sono definite
>> A = [1,2,3;4,-5,6;5,-6,7]
Vettori e matrici - 1
Operatori:
>> B=A’
>> B=A.’
>> A*B
>> A+B
−Individuazione di un elemento
>> A(2,3)
−Individuazione di sottomatrici
>> A([2 3],[1 2])
− Individuazione di sottomatrici
>> B=A([3 2],[2 1])
>> B=[A(3,2),A(3,1);A(2,2);A(2,1)]
Vettori e matrici - 3
Vettori e matrici - 4
−Individuazione di una riga o di una colonna
>> A(1,:)
−Individuazione di una sotto-matrice
>> A(1:2,:)
>> A([1 2],:)
−Uso dell’operatore ’:’
>> v=1:5
>> w=1:2:5
Funzioni di matrici
− Matrici elementari
>> I=eye(3)
− Funzioni di elementi di matrice o di matrice
>> sin(A)
>> As=sqrtm(A)
>> As^2
>> A.*A
>> funm(A,@sin)
− Operazioni elementari
>> z=[1;2;3]; x=inv(A)*z
>> x=A\z
− Funzioni predefinite
>> det(A)
>> rank(A)
>> eig(A)
In generale, ”.<op>” è un’operazione che agisce sugli elementi di una matrice
Grafica - 1
− Visualizzazione di vettori
>> x=-pi:0.1:pi; y=sin(x);
>> plot(x,y)
>> plot(x,y,’s-’)
>> xlabel(’x’); ylabel(’y=sin(x)’);
− Le proprietà del grafico possono essere modificate
>> h=plot(x,y); set(h, ’LineWidth’, 4);
− Sono disponibili molte opzioni (e.g. diagrammi a torta)
>> v=1:4; pie(v)
Grafica - 2
− Grafici 3D
>> A = zeros(32);
>> A(14:16,14:16) = ones(3);
>> F=abs(fft2(A));
>> mesh(F)
>> rotate3d on
− Superfici
>> surfl(F)
− Si possono cambiare l’illuminazione, la tessitura etc.
>> cameramenu
>> material metal