Simulazione dei Sistemi in MATLAB ( )

Ing. Mariagrazia Dotoli
Controlli Automatici NO (9 CFU)
Simulazione dei Sistemi in MATLAB
Simulazione dei Sistemi in MATLAB
Il programma di calcolo Matlab permette di analizzare l’evoluzione temporale dei sistemi dinamici,
sia lineari che non lineari.
Questa dispensa costituisce una introduzione all’analisi dei sistemi dinamici con le potenzialità del
Matlab.
1. Esempio di sistema lineare: sistema massa-molla-smorzatore.
Consideriamo il sistema meccanico in figura 1. Si tratta di una massa M (kg) che, soggetta ad una
forza orizzontale f (N), può muoversi di moto orizzontale con spostamento x (m) ma con il vincolo
di essere collegato ad una parete fissa attraverso una molla di costante elastica K (N/m) e uno
smorzatore di smorzamento B (Ns/m).
Si vuole studiare il sistema con condizioni iniziali nulle (il carrello parte dalla posizione di
riferimento x=0 con velocità nulla x =0), quando ad esso è sottoposto una forza costante di 25N a
partire dall’istante di tempo t=0. Si assume M=1 kg, B=5 Ns/m e K=25 N/m.
x(t)
K
M
f(t)
B
Figura 1. Sistema meccanico traslatorio.
Applicando la prima legge della dinamica o legge di Newton, l’equilibrio delle forze cui è
sottoposto il sistema è il seguente:
+ Bx(t)
+ Kx(t) = f (t)
Mx(t)
o anche
x(t) =
1
− Kx(t) )
⋅ ( f (t) − Bx(t)
M
con
Copyright © 2006 Mariagrazia Dotoli. L’autore garantisce il permesso per la riproduzione e la distribuzione del
presente materiale per i soggetti privati, alla condizione che la fonte originale e l’autore siano esplicitamente
riconosciuti e citati.
1
Ing. Mariagrazia Dotoli
Controlli Automatici NO (9 CFU)
Simulazione dei Sistemi in MATLAB
t
⎧
x(t)
=
x(τ)dτ
∫ ⎪
⎪
0
⎨
⎪ x(t) = t x(
∫ τ)dτ
⎪
0
⎩
che descrive lo schema a blocchi in figura 2. In essa il modello è ottenuto interpretando le
precedenti equazioni realizzando la variabile x per mezzo di un sommatore, i cui ingressi sono
combinazioni, tramite opportuni guadagni, della forza f e delle variabili velocità x e posizione x
retroazionate. Queste vengono ottenute rispettivamente la prima da x per mezzo di un semplice
integratore, la seconda da x integrando ancora una volta. Le condizioni iniziali degli integratori
sono nulle, poiché il valore iniziale di velocità e accelerazione è zero. Si ottiene così il modello in
figura 2.
25
Step
1/M
Gain3
Gain2
Gain1
Gain
1
s
1
s
Integrator
Integrator1
Scope
B
K
Figura 2. Schema a blocchi del sistema
meccanico traslatorio.
Equivalentemente, il modello del sistema si può scrivere considerando dunque le variabili posizione
e velocità della massa:
x1(t) = x(t)
x 2 (t) = x(t)
e riscrivendo le equazioni come segue:
x 1(t) = x 2 (t)
1
x 2 (t) = ⋅ ( f (t) − Bx 2 (t) − Kx1(t) )
M
Trasformiamo ora secondo Laplace l’equazione differenziale che descrive il sistema, ottenendo:
Copyright © 2006 Mariagrazia Dotoli. L’autore garantisce il permesso per la riproduzione e la distribuzione del
presente materiale per i soggetti privati, alla condizione che la fonte originale e l’autore siano esplicitamente
riconosciuti e citati.
2
Ing. Mariagrazia Dotoli
Controlli Automatici NO (9 CFU)
Simulazione dei Sistemi in MATLAB
( Ms2 + Bs + k ) X(s) = F(s)
e determiniamo il modello in termini di funzione di trasferimento, se la forza f è l’ingresso del
sistema e la posizione della massa x è l’uscita:
G(s) =
X(s)
1
.
=
2
F(s) Ms + Bs + K
Vediamo ora come analizzare il sistema utilizzando le potenzialità di calcolo di Matlab senza
passare attraverso la funzione di trasferimento.
È sufficiente ridefinire le equazioni del sistema per mezzo di una funzione sismecc.m che
riportiamo nel seguito.
function xdot=sismecc(t,x)
f=25;
M=1;
B=5;
K=25;
xdot=[x(2); 1/M*(f-B*x(2)-K*x(1))];
Questa funzione è richiamata dal file Matlab sismeccgraf.m, di seguito riportato, il quale simula il
sistema meccanico definito in un intervallo di 3 secondi e con condizioni iniziali nulle, per mezzo di
un algoritmo solutore di equazioni differenziali detto ode45 incluso nel Matlab.
% File sismeccgraf.m
% Determina la dinamica del sistema meccanico
% traslatorio definito dalla funzione sismecc.m
t0=0;
tf=3;
x0=[0 0];
[t,x]=ode45(@sismecc,[t0 tf],x0);
subplot(211),plot(t,x),grid
title('Evoluzione del sistema meccanico')
xlabel('tempo [s]')
legend('spostamento','velocità')
d=x(:,1);
v=x(:,2);
subplot(212),plot(d,v),grid
title('Velocità rispetto allo spostamento')
xlabel('spostamento')
ylabel('velocità')
Il file sismeccgraf.m, inoltre, visualizza in un’unica finestra il grafico dell’andamento temporale
della posizione e della velocità e il diagramma polare posizione-velocità (figura 3). L’esecuzione
avviene semplicemente digitando nella finestra di comando il nome del file:
» sismeccgraf
Copyright © 2006 Mariagrazia Dotoli. L’autore garantisce il permesso per la riproduzione e la distribuzione del
presente materiale per i soggetti privati, alla condizione che la fonte originale e l’autore siano esplicitamente
riconosciuti e citati.
3
Ing. Mariagrazia Dotoli
Controlli Automatici NO (9 CFU)
Simulazione dei Sistemi in MATLAB
I diagrammi rappresentano le evoluzioni temporali della posizione e della velocità della massa M e
il diagramma polare di questi ultimi. Si osserva che il sistema è lineare tempoinvariante del secondo
ordine (senza zeri) e oscillatorio sottosmorzato, come è possibile verificare con i seguenti semplici
comandi dalla Command Window del Matlab.
Evoluzione del sistema meccanico
3
spostamento
velocità
2.5
2
1.5
1
0.5
0
-0.5
0
0.5
1
1.5
tempo [s]
2
2.5
3
Velocità rispetto allo spostamento
3
2.5
velocità
2
1.5
1
0.5
0
-0.5
0
0.2
0.4
0.6
0.8
spostamento
1
1.2
1.4
Figura 3. Risultati dell’esecuzione
del file sismeccgraf.m. (M=1, B=5, K=25)
>> n=[1];
>> d=[1 5 25];
>> p=roots(d)
p =
-2.5000 + 4.3301i
-2.5000 - 4.3301i
>> [w,z]=damp(d)
w =
5.0000
5.0000
z =
Copyright © 2006 Mariagrazia Dotoli. L’autore garantisce il permesso per la riproduzione e la distribuzione del
presente materiale per i soggetti privati, alla condizione che la fonte originale e l’autore siano esplicitamente
riconosciuti e citati.
4
Ing. Mariagrazia Dotoli
Controlli Automatici NO (9 CFU)
Simulazione dei Sistemi in MATLAB
0.5000
0.5000
La risposta al gradino (di 25 N) del sistema è evidentemente quella caratteristica per un sistema del
secondo ordine con coefficiente di smorzamento pari a 0.5.
Sostituendo ora nel file sismecc.m i coefficienti M=1, B=3 e K=2, ponendo tf=10 nel file
sismeccgraf.m come tempo finale di simulazione e rieseguendo il file sismeccgraf.m, si ottiene il
nuovo comportamento del sistema di figura 4, che è tipico di un sistema del secondo ordine
sovrasmorzato. Infatti i poli del sistema sono reali negativi, come si verifica con i seguenti comandi
dalla Command Window.
>> n=[1];
>> d=[1 3 2];
>> p=roots(d)
p =
-2
-1
Evoluzione del sistema meccanico
Evoluzione del sistema meccanico
15
6
10
2
5
0
0
1
2
3
4
5
6
7
tempo [s]
Velocità rispetto allo spostamento
8
9
-2
10
8
6
6
4
velocità
velocità
0
4
2
0
spostamento
velocità
4
spostamento
velocità
0
1
2
3
4
5
6
7
tempo [s]
Velocità rispetto allo spostamento
8
9
10
2
0
0
2
4
6
8
spostamento
10
12
-2
14
0
0.5
1
1.5
2
spostamento
2.5
3
3.5
Figura 5. Risultati dell’esecuzione
del file sismeccgraf.m. (M=1, B=2, K=10).
Figura 4. Risultati dell’esecuzione
del file sismeccgraf.m. (M=1, B=3, K=2).
Infine, in figura 5 sono rappresentati i risultati ottenuti con i parametri M=1, B=2 e K=10, sempre
per tf=10 nel file sismeccgraf.m. In questo caso il sistema è ancora sottosmorzato ma più lento
rispetto al primo caso, essendo la parte reale dei poli più piccola, come si verifica con i seguenti
comandi dalla Command Window
>> n=[1];
>> d=[1 2 10];
>> p=roots(d)
p =
-1.0000 + 3.0000i
-1.0000 - 3.0000i
Copyright © 2006 Mariagrazia Dotoli. L’autore garantisce il permesso per la riproduzione e la distribuzione del
presente materiale per i soggetti privati, alla condizione che la fonte originale e l’autore siano esplicitamente
riconosciuti e citati.
5
Ing. Mariagrazia Dotoli
Controlli Automatici NO (9 CFU)
Simulazione dei Sistemi in MATLAB
>> [w,z]=damp(d)
w =
3.1623
3.1623
z =
0.3162
0.3162
2. Esempio di sistema lineare: circuito elettrico RLC.
Un esempio analogo al precedente è dato dalla rete elettrica in figura 6.
L=2 H
R=1.4
vs=1V
+
_
i(t)
C=0.32 F
vc(t)
Figura 6. Circuito RLC serie.
Si tratta di un circuito elettrico comunemente detto RLC serie, poiché esso è costituito da un
generatore di tensione vs (V) che alimenta la serie di una resistenza R(Ω), una induttanza L (H) e
una capacità C (F). Applicando la legge di Kirchoff delle tensioni si ottiene:
+ v (t) = v (t)
Ri(t) + Li(t)
c
s
con
vc (t) =
1t
∫ i(τ)dτ .
C0
Consideriamo dunque le variabili tensione sul condensatore e corrente nella maglia:
x1(t) = vc (t)
x 2 (t) = i(t)
Copyright © 2006 Mariagrazia Dotoli. L’autore garantisce il permesso per la riproduzione e la distribuzione del
presente materiale per i soggetti privati, alla condizione che la fonte originale e l’autore siano esplicitamente
riconosciuti e citati.
6
Ing. Mariagrazia Dotoli
Controlli Automatici NO (9 CFU)
Simulazione dei Sistemi in MATLAB
e determiniamo il modello del sistema come segue:
1
x 2 (t)
C
1
x 2 (t) = (vs (t) − x1(t) − Rx 2 (t)) .
L
x 1(t) =
Si vuole studiare il sistema con condizioni iniziali [0.5 0] (il condensatore ha una carica residua
x1=vc=0.5 V e la corrente iniziale sull’induttore è x2=i=0), quando in ingresso ad esso è posta una
tensione costante di 1V a partire dall’istante di tempo t=0. Si assume R=1.4Ω, L=2H e C=0.32F.
Per rappresentare il modello ottenuto, interpretiamo il sistema di equazioni differenziali realizzando
la variabile x 2 per mezzo di un sommatore, i cui ingressi sono combinazioni, tramite opportuni
guadagni, della tensione di ingresso vs e delle variabili x2 e x1 retroazionate. Queste vengono
ottenute rispettivamente la prima da x 2 per mezzo di un semplice integratore, la seconda da x2
integrando ancora una volta e dividendo per C. La condizione iniziale del primo integratore è nulla,
poiché il valore iniziale della corrente è zero, mentre la condizione iniziale del secondo integratore è
0.5, poiché il condensatore possiede una carica iniziale di 0.5V. Si ottiene così il modello in figura
7.
V
Step
Gain3
1/L
Gain2
Gain1
1
s
1
s
Integrator
Integrator1
R
Scope
Gain
1/C
Figura 7. Schema a blocchi del sistema
elettrico RLC serie.
Per analizzare il sistema è sufficiente ridefinirne l’equazione principale per mezzo di una funzione
siselett.m che riportiamo nel seguito:
function xdot=siselett(t,x)
vs=1;
R=1.4;
L=2;
C=0.32;
xdot=[x(2)/C; 1/L*(vs-x(1)-R*x(2))];
Copyright © 2006 Mariagrazia Dotoli. L’autore garantisce il permesso per la riproduzione e la distribuzione del
presente materiale per i soggetti privati, alla condizione che la fonte originale e l’autore siano esplicitamente
riconosciuti e citati.
7
Ing. Mariagrazia Dotoli
Controlli Automatici NO (9 CFU)
Simulazione dei Sistemi in MATLAB
Questa funzione è richiamata dal file Matlab siselettgraf.m, di seguito riportato, che simula il
sistema elettrico definito in un intervallo di 15 secondi e con condizioni iniziali [0.5 0] per mezzo
dell’algoritmo solutore di equazioni differenziali ode45.
% File siselettgraf.m
% Determina la dinamica del sistema elettrico
% RLC serie definito dalla funzione siselett.m
t0=0;
tf=15;
x0=[0.5 0];
[t,x]=ode45(@siselett,[t0 tf],x0);
subplot(211),plot(t,x),grid
title('Evoluzione del sistema elettrico')
xlabel('tempo [s]')
legend('tensione del condensatore','corrente')
vc=x(:,1);
i=x(:,2);
subplot(212),plot(vc,i),grid
title('Corrente rispetto alla tensione del condensatore')
xlabel('Tensione sul condensatore')
ylabel('Corrente')
Il file siselettgraf.m, inoltre, visualizza in un’unica finestra il grafico dell’andamento temporale
della tensione sul condensatore e della corrente, nonché il diagramma polare tensione-corrente
(figura 8). L’esecuzione avviene semplicemente digitando nella finestra di comando il nome del
file:
» siselettgraf
I diagrammi rappresentano le evoluzioni temporali della tensione ai capi del condensatore e della
corrente che scorre nella serie, nonché il diagramma polare di questi ultimi. Si osserva che il
sistema è lineare tempoinvariante del secondo ordine (senza zeri) e oscillatorio sottosmorzato, come
è possibile verificare ricordando la nota funzione di trasferimento del sistema, che vale
V (s)
1
G(s) = c =
Vs (s) LCs 2 + RCs + 1
ed eseguendo i seguenti semplici comandi dalla Command Window del Matlab.
>> n=[1];
>> d=[2*0.32 1.4*0.32 1];
>> p=roots(d)
p =
-0.3500 + 1.2000i
-0.3500 - 1.2000i
>> [w,z]=damp(d)
Copyright © 2006 Mariagrazia Dotoli. L’autore garantisce il permesso per la riproduzione e la distribuzione del
presente materiale per i soggetti privati, alla condizione che la fonte originale e l’autore siano esplicitamente
riconosciuti e citati.
8
Ing. Mariagrazia Dotoli
Controlli Automatici NO (9 CFU)
Simulazione dei Sistemi in MATLAB
w =
1.2500
1.2500
z =
0.2800
0.2800
La risposta al gradino del sistema con una condizione iniziale non nulla contiene evidentemente i
modi caratteristici per un sistema del secondo ordine con coefficiente di smorzamento pari a 0.28 e
pulsazione naturale pari a 1.25.
Evoluzione del sistema elettrico
1.2
1
0.8
tensione del condensatore
corrente
0.6
0.4
0.2
0
-0.2
0
5
10
15
tempo [s]
Corrente rispetto alla tensione del condensatore
0.15
Corrente
0.1
0.05
0
-0.05
-0.1
0.5
0.6
0.7
0.8
0.9
1
Tensione sul condensatore
1.1
1.2
1.3
Figura 8. Risultati dell’esecuzione
del file siselettgraf.m (R=1.4, L=2, C=0.32).
Sostituendo ora nel file siselett.m i coefficienti R=6, L=2 e C=0.25 e rieseguendo il file
siselettgraf.m, si ottiene il nuovo comportamento del sistema di figura 9, che è tipico di un sistema
del secondo ordine sovrasmorzato (con condizione iniziale). Infatti i poli del sistema sono reali
negativi, come si verifica con i seguenti comandi dalla Command Window.
Copyright © 2006 Mariagrazia Dotoli. L’autore garantisce il permesso per la riproduzione e la distribuzione del
presente materiale per i soggetti privati, alla condizione che la fonte originale e l’autore siano esplicitamente
riconosciuti e citati.
9
Ing. Mariagrazia Dotoli
Controlli Automatici NO (9 CFU)
Simulazione dei Sistemi in MATLAB
>> n=[1];
>> d=[2*0.25 6*0.25 1];
>> p=roots(d)
p =
-2
-1
Evoluzione del sistema elettrico
1
0.8
tensione del condensatore
corrente
0.6
0.4
0.2
0
0
5
10
tempo [s]
Corrente rispetto alla tensione del condensatore
15
0.08
Corrente
0.06
0.04
0.02
0
0.5
0.55
0.6
0.65
0.7
0.75
0.8
0.85
Tensione sul condensatore
0.9
0.95
1
Figura 9. Risultati dell’esecuzione
del file siselettgraf.m. (R=6, L=2, C=0.25).
3. Esempio di sistema non lineare: pendolo semplice.
I sistemi finora trattati sono lineari. Vediamo ora come sia possibile trattare in modo analogo a
quanto fatto anche sistemi non lineari, che costituiscono del resto la stragrande maggioranza dei
modelli di sistemi fisici, utilizzando il Matlab.
θ
L
mgsinθ
m
mgcosθ
mg
Figura 10. Pendolo semplice.
Copyright © 2006 Mariagrazia Dotoli. L’autore garantisce il permesso per la riproduzione e la distribuzione del
presente materiale per i soggetti privati, alla condizione che la fonte originale e l’autore siano esplicitamente
riconosciuti e citati.
10
Ing. Mariagrazia Dotoli
Controlli Automatici NO (9 CFU)
Simulazione dei Sistemi in MATLAB
Consideriamo il pendolo semplice illustrato in figura 10. Si tratta di una massa m (kg) di peso
W=mg (N), essendo g=9.81 ms-2 l’accelerazione di gravità, incernierata in un punto fisso per mezzo
di una fune rigida di massa trascurabile, coefficiente di attrito rotazionale B (Nsm-1rad-1) e
lunghezza L (m). Il pendolo può ruotare liberamente nel piano verticale, e l’angolo θ (rad)
rappresenta l’angolo di deviazione della fune dalla verticale: a quest’ultima corrisponde θ=0,
mentre si suppongono angoli positivi per deviazioni a destra della stessa.
Se inizialmente la massa non si trova sulla verticale dal perno, essa tende ad oscillare per effetto del
suo peso, contrastata dall’attrito rotazionale della fune. Gli archi corrispondenti ad una rotazione
θ(t) valgono evidentemente s(t)=Lθ(t), da cui consegue che ad un angolo θ corrisponde una
θ(t) ed una accelerazione lineare s(t) = L
θ(t) . Applicando la prima legge
accelerazione angolare di Newton alla massa si ottiene dunque:
− Wsin θ(t) − Bs(t)
0 = −ms(t)
dove i segni delle forze in gioco sono negativi poiché tendono a muovere il pendolo in una
direzione contraria a quella positiva della posizione, velocità e accelerazione angolari (positive in
senso orario).
Si ha evidentemente
− W sin θ(t) = − mg sin θ(t)
che è la componente della forza peso, negativa perché tende a riportare indietro il pendolo, e
= − BLθ (t)
− Bs(t)
la forza di attrito rotazionale cui è sottoposta la fune, negativa anch’essa poiché tende a frenare il
moto. In definitiva si ha:
mL
θ(t) = − W sin θ(t) − BLθ (t)
Consideriamo dunque la posizione e la velocità angolare:
x1(t) = θ(t)
x (t) = θ (t)
2
e riscriviamo il modello del sistema come segue:
x 1(t) = x 2 (t)
B
W
x 2 (t) = − x 2 (t) −
sin x1(t)
m
mL
Copyright © 2006 Mariagrazia Dotoli. L’autore garantisce il permesso per la riproduzione e la distribuzione del
presente materiale per i soggetti privati, alla condizione che la fonte originale e l’autore siano esplicitamente
riconosciuti e citati.
11
Ing. Mariagrazia Dotoli
Controlli Automatici NO (9 CFU)
Simulazione dei Sistemi in MATLAB
Si vuole studiare il sistema con condizioni iniziali [1 0] (il pendolo ha una posizione iniziale
x1(0)=θ(0)=1 rad e una velocità angolare iniziale nulla x2(0)= θ (0)=0), a partire dall’istante di
tempo t=0. Si assume W=2 N, B=0.02 Nsm-1rad-1 e L=0.6 m.
Per rappresentare graficamente il modello ottenuto, interpretiamo l’equazione del sistema
realizzando la variabile x 2 per mezzo di un sommatore, i cui ingressi sono combinazioni, tramite
opportuni guadagni, della componente peso tangenziale alla fune –Wsinx1 e della variabile di stato
x1 retroazionata. Quest’ultima si ottiene da x 2 per mezzo di due integratori, il primo con condizione
iniziale nulla, poiché il valore iniziale della velocità angolare è zero, il secondo con condizione
iniziale 1, poiché tale è il valore iniziale dell’angolo. Si ottiene così il modello in figura 11.
W
1
s
1/(m*L)
1
s
B/m
sin
Figura 11. Schema a blocchi del pendolo semplice.
Ridefiniamo quindi l’equazione principale del sistema per mezzo di una funzione pendolo.m che
riportiamo nel seguito:
function xdot=pendolo(t,x)
W=2;
L=0.6;
B=0.02;
g=9.81;
m=W/g;
xdot=[x(2); -B/m*x(2)-W/m/L*sin(x(1))];
Questa funzione è richiamata dal file Matlab pendolograf.m, di seguito riportato, che simula il
sistema pendolo in un intervallo di 5 secondi e con condizioni iniziali [1 0] per mezzo
dell’algoritmo solutore di equazioni differenziali ode45.
% File pendolograf.m
% Determina la dinamica del pendolo semplice
% definito dalla funzione pendolo.m
t0=0;
tf=5;
x0=[1 0];
Copyright © 2006 Mariagrazia Dotoli. L’autore garantisce il permesso per la riproduzione e la distribuzione del
presente materiale per i soggetti privati, alla condizione che la fonte originale e l’autore siano esplicitamente
riconosciuti e citati.
12
Ing. Mariagrazia Dotoli
Controlli Automatici NO (9 CFU)
Simulazione dei Sistemi in MATLAB
tol=0.001;
trace=0;
[t,x]=ode45(@pendolo,[t0 tf],x0);
subplot(211),plot(t,x),grid
title('Evoluzione del pendolo')
xlabel('tempo [s]')
legend('Angolo','Velocità angolare')
theta=x(:,1);
omega=x(:,2);
subplot(212),plot(theta,omega),grid
title('Piano delle fasi del pendolo')
xlabel('Angolo')
ylabel('Velocità angolare')
Il file pendolograf.m, inoltre, visualizza in un’unica finestra il grafico dell’andamento temporale
della posizione e della velocità angolare del pendolo, nonché il diagramma polare posizionevelocità (figura 12). L’esecuzione avviene semplicemente digitando nella finestra di comando il
nome del file:
» pendolograf
Evoluzione del pendolo
4
Angolo
Velocità angolare
2
0
-2
-4
0
0.5
1
1.5
2.5
tempo [s]
3
3.5
4
4.5
5
0.4
0.6
0.8
1
Piano delle fasi del pendolo
4
Velocità angolare
2
2
0
-2
-4
-1
-0.8
-0.6
-0.4
-0.2
0
Angolo
0.2
Figura 12. Risultati dell’esecuzione
del file pendolograf.m (W=2, L=0.6, B=0.02).
Copyright © 2006 Mariagrazia Dotoli. L’autore garantisce il permesso per la riproduzione e la distribuzione del
presente materiale per i soggetti privati, alla condizione che la fonte originale e l’autore siano esplicitamente
riconosciuti e citati.
13
Ing. Mariagrazia Dotoli
Controlli Automatici NO (9 CFU)
Evoluzione del pendolo
Evoluzione del pendolo
2
4
Angolo
Velocità angolare
2
Simulazione dei Sistemi in MATLAB
Angolo
Velocità angolare
1
0
0
-1
-2
-4
-2
0
0.5
1
1.5
2
2.5
3
3.5
tempo [s]
Piano delle fasi del pendolo
4
4.5
-3
5
Velocità angolare
Velocità angolare
2
0
-2
-0.6
-0.4
-0.2
0
0.2
Angolo
0.4
0.5
1
1.5
2
2.5
3
3.5
tempo [s]
Piano delle fasi del pendolo
4
4.5
5
2
4
-4
-0.8
0
0.6
0.8
1
0
-1
-2
-3
-0.6
1
Figura 13. Risultati dell’esecuzione del file
pendolograf.m. (W=2, L=0.6, B=0.2).
-0.4
-0.2
0
0.2
Angolo
0.4
0.6
0.8
1
Figura 14. Risultati dell’esecuzione del file
pendolograf.m. (W=2, L=1.2, B=0.2).
Infine, in figura 13 e 14 è rappresentata la dinamica del pendolo quando è decuplicato l’attrito, nel
primo caso con la lunghezza iniziale della fune e nel secondo caso quando la fune è di lunghezza
doppia. In entrambi i casi il pendolo rallenta rispetto alla figura 12 (i picchi della velocità angolare
sono più di ampiezza inferiore) e oscilla un minor numero di volte intorno alla posizione verticale
(la spirale del grafico angolo-velocità angolare “gira” un numero inferiore di volte intorno
all’origine, che è il punto di equilibrio finale). Inoltre, quando la lunghezza della fune raddoppia
sono maggiori gli archi da compiere nel periodo delle oscillazioni, il quale quindi aumenta e dunque
si riduce la frequenza delle oscillazioni stesse.
4 Bibliografia
A. Cavallo, R. Setola, F. Vasca, Guida operativa a Matlab, Simulink e Control Toolbox, 1994,
Liguori
H. Saadat, Computational Aids in Control Systems Using Matlab, 1993, Mc Graw-Hill.
M. Tibaldi, Note introduttive a Matlab e Control System Toolbox, 1993, Progetto Leonardo.
N.S. Nise, Control Systems Engineering, seconda edizione, 1995, Benjamin Cummings.
Copyright © 2006 Mariagrazia Dotoli. L’autore garantisce il permesso per la riproduzione e la distribuzione del
presente materiale per i soggetti privati, alla condizione che la fonte originale e l’autore siano esplicitamente
riconosciuti e citati.
14