Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
funzioni e comandi
grafici
Scrittura di files:
Il comando writematrix trascrive una matrice generata in
MATLAB in un file Excel:
writematrix(matrice,‘nome_file.xlsx’)
Lettura di files:
Il comando readmatrix genera una matrice in MATLAB a
partire da un foglio Excel (.xlsx):
readmatrix(‘nome_file.xlsx’)
Esempio
Funzioni (I)
Opzione 1:
• Tramite uno script dedicato da cui richiamare la funzione quando
necessaria (lo script dedicato DEVE avere lo stesso nome della
funzione e DEVE essere nella stessa directory dello script in uso):
function [output1,...] = nome_funzione(input1,...)
istruzioni;
end
salva lo script come nome_funzione.m e potrai usarlo in
qualunque altro nuovo script:
variabili=[i j k];
risultato=nome_funzione(variabili) Esercizio 1
Funzioni (III)
Opzione 2:
• Dichiara una funzione anonima all’interno dello stesso script in cui ti
serve utilizzarla (utile per funzioni semplici):
funzione=@(input)(istruzioni)
input=[x y z];
output=funzione(input)
La funzione non sarà poi disponibile in un altro script a meno che non
sia dichiarata di nuovo.
Esercizio 1
+ Esercizio 5
Comandi grafici (I)
xx=0:10;
TT=xx.^2+xx+1;
plot(xx,TT,’linewidth’,2)
xlabel('x [mm]')
ylabel('Temperatura [°C]’)
grid on
box on % impostaz. di default
Comandi grafici (V) - Plot
xx=0:10;
TT=xx.^2+xx+1;
plot(xx,TT,’linewidth’,2)
xlabel('x [mm]')
ylabel('Temperatura [°C]’)
grid on
box on
xlim([2 2.5])
ylim([0 20])
Comandi grafici (VI) - Plot
Si può (si deve) modificare la grandezza del font lungo gli assi per
una migliore leggibilità:
...
plot(xx,TT,’linewidth’,2)
...
ax=gca;
ax.FontSize=16
% oppure
set(gca,'fontsize',16)
Comandi grafici (VII) - Plot
...
plot(xx,TT,’linewidth’,2)
...
hold on
TT2=2*xx+20;
plot(xx,TT2,’linewidth’,2)
Comandi grafici (VIII) - Plot
...
plot(xx,TT,'b-
d','linewidth',2,'markersize',3,
'markerfacecolor’,’b')
...
plot(xx,TT2,'-.','color',[0 153
0]./255,'linewidth',2)
Comandi grafici (X) - Plot
...
plot(xx,TT,...) Mai
... sovrapporre il
plot(xx,TT2,...) box della
... legenda al
legend(‘T1’,’T2’) plot!
Comandi grafici (XI) - Plot
...
plot(xx,TT,...,’displayname’,’T1’)
...
plot(xx,TT2,...,’displayname,’T2’)
legend('-dynamiclegend’,
’location’,’northeastoutside’)
% ‘orientation’,’vertical’
impostazione di default
Comandi grafici (XIII) - Plot
Per stampare una figura occorre definirla prima come oggetto, con
la possibilità di gestirne anche le dimensioni relative allo schermo.
figure('units','normalized','outerposition',[0 0 0.6 1])
f1=figure(1)
...
plot(x,y,...) Larghezza Altezza
...
print –f1 –depsc nome_figura
errorbar(x,y,l,u)
yy=rand(5,1);
h=bar(yy)
grid on
box on
xlabel('x [-]');
ylabel('y [-]’);
ax=gca;
ax.FontSize=16;
Comandi grafici (XIX) – Bar plot
c=categorical({'E','A','C',
'D',’B’});
yy=rand(5,1);
h=bar(c,yy)
...
Comandi grafici (XX) – Bar plot
c=categorical({'E','A','C',
'D',’B’});
c=reordercats(c,{'E','D’,
'C','B',’A’});
yy=rand(5,1);
h=bar(c,yy)
...
Comandi grafici (XXI) – Bar plot
Esercizio 7
Comandi grafici (XXII) – Bar plot
...
yy=rand(4,3)
h=bar(yy,'stacked’)
...
Comandi grafici (XXIII) – Bar plot
...
yy=rand(4,3)
h=bar(yy,'stacked’)
h(1).FaceColor=‘g’; % si
può anche usare una
tripletta RGB
...
Comandi grafici (XXIV) – Bar plot
...
yy=rand(4,3)
h=bar(yy,'stacked’)
...
legend('Verde','Arancione’,
'Giallo','location’,
'bestoutside','orientation’,
'horizontal')