Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
of Aerospace Engineering
University of Pisa
INTRODUZIONE AL MATLAB®
e-mail : f.schettini@ing.unipi.it
Cos’è Matlab?
MATLAB® “Matrix laboratory” è un potente strumento di
calcolo nonché un linguaggio di programmazione.
Permette di integrare calcoli, visualizzazioni e programmi in
modo semplice grazie ad un ambiente di lavoro nel quale
problemi e soluzioni possono essere espressi con notazioni
matematiche semplici
Applicazioni:
• Calcoli matematici
• Sviluppo di algoritmi
• Sviluppo di modelli e simulazioni
• Analisi e visualizzazione di dati
• Realizzazioni di grafici bidimensionali e tridimensionali
I toolbox di Matlab
Matlab è inoltre dotato di un serie di applicazioni che
risolvono particolari classi di problemi. Queste applicazioni
sono realizzate medianti funzioni Matlab (“M-files”)
organizzate in toolbox.
Principali toolbox
• Simulink
• Control System
• State Flow
• Real Time Workshop
• Neural Network
• …...
• L’ambiente Matlab
- Matlab desktop
- Current Directory
- Workspace
- Editor/Debugger
• Espressioni matematiche in Matlab
- Costruzione di Variabili
- Rappresentazione Numerica
- Operatori Matematici
- Operatori per Array
- Funzioni Comuni
- Significato della punteggiatura
- Comandi di gestione della memoria
• Funzioni Grafiche
- Comandi principali ed esempi
Dinamica del Volo Introduzione al Matlab 4
Dept. of Aerospace Engineering
University of Pisa
M
a
t
l
a
b
immissione di variabili ed
D esecuzione di M-files
e
s
k
t
o
p
Current Directory
Workspace
Editor/Debugger
num_studenti = 25
num_studenti = 5 20
3 1
Rappresentazione Numerica
3 -99 0.0001
9.6397238 1.60210e-20 6.02252e23
1i -3.14159j 3e5i
• Notazione decimale
• Notazione scientifica usa “e” per rappresentare una potenza di dieci
• “ i ” or “ j ” costituiscono l’unità immaginaria
Operatori Matematici
+ addizione
- sottrazione
* moltiplicazione
/ divisione
^ elevamento a potenza
‘ complesso coniugato
Dinamica del Volo Introduzione al Matlab 14
Dept. of Aerospace Engineering
University of Pisa
whos lista del contenuto della memoria con dettagli sulle variabili
Funzioni Grafiche
Esempio 1
Comandi di Matlab
•u=0:10/180*pi:2*pi;
•v=sin(u);
•plot(u*180/pi,v)
•xlabel('u (deg)')
•ylabel('v(u)')
•title('v=sin(u)')
•grid
Esempio 2
Comandi di Matlab
•u=0:10/180*pi:2*pi;
•ud=0:10:360;
•v1=sin(u);
•v2=sin(u+45*pi/180);
•v3=sin(u+90*pi/180);
•plot(ud,v1,ud,v2,ud,v3)
•grid
•xlabel('u (deg)')
•ylabel('v1,v2,v3')
•title('v1=sin(u),v2=sin(u+45),v3=sin(u+90)')
• legend('v1','v2','v3',0)
Esempio 3
Comandi di Matlab
•u=0:10/180*pi:2*pi;
•ud=0:10:360;
•v1=sin(u);
•v2=cos(u);
•plot(ud,v1,'k--')
•hold on
•plot(ud,v2,'*')
•hold off
•xlabel('u (deg)')
•ylabel('v(u)')
•title('v1=sin(u),v2=cos(u)')
•legend('v1','v2',0)
•grid
clear all
format short e
a = [ 1 2 3 4
0 2 13 4
5 7 8 9
7 8 9 7 ];
b = [7 0 8 9]';
x = inv(a)*b
% Studio di funzione
% y=f(x)
% y=(1+0.5x)/(1+x)
clear all
M-file: esempio 2 format short e
x=[0:1:50];
y=(1+0.5*x)./(1+x);
plot(x,y)
xlabel('x')
ylabel('y')
title('Studio della funzione y=(1+0.5x)/(1+x)')
M-file: esempio 3
M-file: esempio 4
(pag. 2/2)
operatori logici
sintassi if (espressione logica)
stato 1 - Equal ==
else - Not equal ~=
- Less than <
stato 2 - Greater than >
end - Less than or equal <=
- Greater than or equal >=
- Logical AND &
- Logical OR |
- Logical NOT ~
esempio 1 if num_studenti>25
condizione=‘molti studenti’
else
condizione =‘pochi studenti’
end
Dinamica del Volo Introduzione al Matlab 27
Dept. of Aerospace Engineering
University of Pisa
esempio 2 if num_studenti>25
condizione=‘molti studenti’;
elseif num_studenti==0
condizione =‘nessun studente’;
else
condizione =‘pochi studenti’;
end
if num_studenti>25
condizione=‘molti studenti’;
esempio 3 elseif num_studenti==0
(studenti.m) condizione =‘nessun studente’;
elseif num_studenti<0
disp(‘numero studenti non reale’);
else
condizione =‘pochi studenti’;
end
Costrutto for
esempio 1
x(1)=1;
for i= 2:5 x =
x(i)=2*x(i-1); [1 2 4 8 16 32]
end
for i= 1:3
for j=1:3
if i==j
A(i,j)=1;
else
A(i,j)=0;
end
end
end
A=
1 0 0
0 1 0
0 0 1
Dinamica del Volo Introduzione al Matlab 31
Dept. of Aerospace Engineering
University of Pisa
Costrutto while
esempio 1
i=1;x(1)=1;
x =
while i<=5
[1 2 4 8 16 32]
x(i+1)=2*x(i);
i=i+1;
end
Le function in Matlab
Il nome del M-file contenente una function deve essere quello della
function stessa:
function [output]=nome_function(input) >>>>>nome_function.m
?
Dinamica del Volo Introduzione al Matlab 34
Dept. of Aerospace Engineering
University of Pisa