RELAZIONI DINAMICA E CONTROLLO
2018/2019 Francesco Porro
Silvia Ceccarini
SOMMARIO
ESERCIZIO 1 ....................................................................................................................................................... 2
CODICE MATLAB ............................................................................................................................................ 9
ESERCIZIO 2 ..................................................................................................................................................... 12
CODICE MATLAB .......................................................................................................................................... 18
ESERCIZIO 3 ..................................................................................................................................................... 21
ESERCIZIO 4 ..................................................................................................................................................... 25
CODICE MATLAB .......................................................................................................................................... 33
ESERCIZIO 5 ..................................................................................................................................................... 37
CODICE MATLAB .......................................................................................................................................... 42
ESERCIZIO 6 ..................................................................................................................................................... 44
CODICE MATLAB .......................................................................................................................................... 57
ESERCIZIO 7 ..................................................................................................................................................... 61
ESERCIZIO 8 ..................................................................................................................................................... 70
CODICE MATLAB .......................................................................................................................................... 81
ESERCIZIO 9 ..................................................................................................................................................... 83
CODICE MATLAB .......................................................................................................................................... 90
ESERCIZIO 10 ................................................................................................................................................... 97
CODICE MATLAB ........................................................................................................................................ 105
ESERCIZIO 11 ................................................................................................................................................. 108
CODICE MATLAB ........................................................................................................................................ 113
ESERCIZIO 12 ................................................................................................................................................. 115
CODICE MATLAB ........................................................................................................................................ 121
ESERCIZIO 13 ................................................................................................................................................. 122
CODICE MATLAB ........................................................................................................................................ 125
ESERCIZIO 14 ................................................................................................................................................. 126
CODICE MATLAB ........................................................................................................................................ 144
ESERCIZIO 15 ................................................................................................................................................. 147
CODICE MATLAB ........................................................................................................................................ 157
ESERCIZIO 16 ................................................................................................................................................. 160
CODICE MATLAB ........................................................................................................................................ 169
ESERCIZIO 17 ................................................................................................................................................. 175
CODICE MATLAB ........................................................................................................................................ 186
ESERCIZIO 18 ................................................................................................................................................. 191
CODICE MATLAB ........................................................................................................................................ 196
2
ESERCIZIO 1
Il sistema riportato in figura rappresenta due serbatoi in serie non interagenti. Assumendo una relazione tra
0.5
= ℎ
portata in uscita e battente del tipo ; il sistema è non lineare. Costruire un modello
linearizzato e confrontare le risposte h (t) e h (t) (modello vs processo reale) per una variazione a gradino
1 2
della portata in ingresso q, a partire da uno stato stazionario di equilibrio. Evidenziare le differenze al
variare delle condizioni operative (stazionario iniziale e ampiezza dell’ingresso).
Il sistema, come da descrizione, è costituito da due serbatoi non interagenti in serie. La portata in uscita di
0.5
ℎ
, =
ogni serbatoio può essere descritta con la relazione dove R e h sono la resistenza allo scarico e
i i
l’altezza del serbatoio i-esimo. Sono state effettuate le seguenti ipotesi per la stesura del modello sia del caso
reale.
• Serbatoi identici A =A =A;
1 2
• Resistenza allo scarico congruenti R = R = R;
1 2
• Perfetto miscelamento;
• ρ = ρ
1 2
Caso stazionario: 0.5 0.5
ℎ ℎ
,1 ,2
= = = = =
,1 ,1 ,2 ,2
→ ℎ = ℎ
,1 ,2
Relazione vera solo sotto le ipotesi effettuate.
Bilancio di materia generale: ℎ
1
− − =0
,1 ,1
{ ℎ
2
− − =0
,2 ,2
(0)
ℎ = ℎ
1 ,1
{ (0)
ℎ = ℎ
2 ,2 3
È possibile sostituire le variabili in termini di variabili di scostamento:
ℎ̅
ℎ = ℎ +
1 ,1 1
ℎ̅
ℎ = ℎ +
2 ,2 2
= + ̅
,1 ,1 1
Caso reale
Si introducono le variabili di scostamento, e dopo alcuni passaggi algebrici, è possibile ottenere il seguente
sistema di equazioni differenziali. ℎ̅ ℎ̅ 0.5
+ ̅ (ℎ + )
1 ,1 ,1 1
= −
( · )
̅̅̅
ℎ̅ ℎ̅ ℎ̅
0.5 0.5
(ℎ + ) (ℎ + )
2 ,1 1 ,2 2
= −
( · ) ( · )
{ ℎ̅ (0) = 0
1
{ ̅ (0)
ℎ = 0
2
Modello lineare
Assumendo valide le ipotesi e le relazioni del caso precedente, la funzione dell’altezza viene linearizzata
tramite sviluppo in serie di Taylor. ℎ − ℎ
,
0.5 0.5
(ℎ ) = (ℎ ) +
, 0.5
(2 · ℎ )
,
Si sostituisce la funzione linearizzata nelle variabili del bilancio generale.
Tramite le variabili di scostamento, definite sopra, si possono riscrivere le equazioni nella forma seguente:
ℎ̅ ℎ̅
· ̅ −
1 1
=
ℎ̅ ℎ̅ ℎ̅
−
2 1 2
=
{
Le costati di guadagno e tempo k e τ sono cosi definite: 0.5
= 2 · (ℎ )
, 0.5
= 2 · · (ℎ )
,
Si riportano i grafici delle risposte dei due serbatoi nei due casi. 4
L’andamento del primo serbatoio (entrambi i casi), è una risposta tipica di un sistema lineare del primo
ordine, mentre l’altro serbatoio ha una risposta di un sistema lineare del secondo ordine. In questo ultimo
caso è infatti presente un flesso, quindi un cambiamento della curvatura.
Dallo stesso grafico si possono confrontare gli andamenti dei serbatoi nel modello linearizzato e nel caso
ℎ̅
reale. Sulle ordinate è presente la variabile di scostamento dell’altezza , per cui il valore al tempo iniziale è
nullo. Il modello linearizzato per sua costruzione approssima la funzione in un intorno del punto h , perciò
ss,i
risulta valido solamente in prossimità di tale punto.
A conferma di quanto esposto sopra, si nota che le curve del serbatoio i-esimo sono pressochè identiche nei
due casi, mentre allo stazionario si raggiungono valori differenti. Inoltre si può notare che il modello
sottostima la variabile scostamento dell’altezza.
Si valuta di seguito l’effetto dei seguenti parametri sulla risposta:
• resistenza allo scarico R;
• ℎ
variazione dello stazionario iniziale ;
,1
• ̅
variazione dello scostamento della portata ;
• variazione dell’area del serbatoio A;
Nota: i seguenti grafici sono stati valutati solo per il secondo serbatoio, in quanto si osservano risposte
analoghe caso per caso anche per il primo serbatoio. 5
Risposta al variare della resistenza allo scarico R
All’aumentare della resistenza allo scarico del secondo serbatoio, si ha un incremento del valore dell’altezza
al nuovo stazionario e del tempo per raggiungerlo. La stessa risposta si verifica nel modello linearizzato e nel
caso reale, con la differenza di un effetto più marcato nel sistema non lineare. 6
Variazione altezza stazionario iniziale
Come nel caso precedente, l’aumento dell’altezza iniziale porta ad un aumento del livello nel serbatoio al
nuovo stazionario e del tempo caratteristico. Le stesse conclusioni valgono nei due casi. 7
̅
Variazione della portata
Anche in questo caso si ha una risposta analoga alle precedenti, quindi un incremento dell’ingresso a gradino
porta ad un valore più alto del nuovo stazionario. L’effetto è maggiore nel caso reale. 8
Variazione dell’area del serbatoio
In entrambi i casi aumentando l’area dei serbatoi, a parità di tempo, la variazione dell’altezza (nel
transitorio) diminuisce pur raggiungendo lo stesso valore allo stazionario. 9
CODICE MATLAB
File altezza12.m:
function dy = altezza12(t,y)
global R h0 q A; %q1 variabile scostamento dallo stazionario
k=2*R*h0^(0.5);tau=2*R*A*h0^(0.5);
dy=zeros(2,1);
dy(1)=(k*q-y(1))/tau; %equazione serbatoio 1
dy(2)=(y(1)-y(2))/tau; %equazione serbatoio 2
end
File altezzaNL.m:
function dy=altezzaNL(t,y)
global R h0 q A ;q0=sqrt(h0)/R;
dy=zeros(2,1);
dy(1)=(q0+q)/A - sqrt(h0+y(1))/(R*A); %equazione serbatoio 1
dy(2)=sqrt(h0+y(1))/(R*A) - sqrt(h0+y(2))/(R*A); %equazione serbatoio 2
end
File es1_plot1.m:
clear all;close all; clc;
global R h0 q A;
R=1; h0=1; q=1; A=1;
% confronto modello VS caso reale;
y0=[0,0];
[T,Y]=ode45(@altezza12,[0 30],y0);
figure(1);
plot(T,Y);hold on;
[T,Y]=ode45(@altezzaNL,[0 30],y0);
plot(T,Y);grid
xlabel('tempo');ylabel('variazione altezza');
title('risposta nel tempo modello vs caso reale');
legend({'modello: serbatoio 1','modello: serbatoio 2','caso reale: serbatoio
1','caso reale: serbatoio 2'},'Location','southeast');
%modello linearizzato; R
Rspan=linspace(1,3,3);
figure(2);
for i=1:3
R=Rspan(i);
[T,Y]=ode45(@altezza12,[0 60],y0);
plot(T,Y(:,2));hold on; %seconda colonna = secondo serbatoio;
end
grid;
xlabel('tempo');ylabel('variazione altezza');
title('risposta nel tempo modello serbatoio 2');
legend({'R=1','R=2','R=3'},'Location','southeast');
%caso reale; R
Rspan=linspace(1,3,3);
figure(3);
for i=1:3
R=Rspan(i);
[T,Y]=ode45(@altezzaNL,[0 200],y0);
plot(T,Y(:,2));hold on;
end 10
grid;
xlabel('tempo');ylabel('variazione altezza');
title('risposta nel tempo caso reale serbatoio 2');
legend({'R=1','R=2','R=3'},'Location','southeast');
%modello; h0
hspan=linspace(1,3,3);R=1;
figure(4);
for i=1:3
h0=hspan(i);
[T,Y]=ode45(@altezza12,[0 100],y0);
plot(T,Y(:,2));hold on;
end
grid;
xlabel('tempo');ylabel('variazione altezza');
title('risposta nel tempo modello serbatoio 2');
legend({'h0=1','h0=2','h0=3'},'Location','southeast');
%caso reale; h0
hspan=linspace(1,3,3);
figure(5);
for i=1:3
h0=hspan(i);
[T,Y]=ode45(@altezzaNL,[0 100],y0);
plot(T,Y(:,2));hold on;
end
grid;
xlabel('tempo');ylabel('variazione altezza');
title('risposta nel tempo caso reale serbatoio 2');
legend({'h0=1','h0=2','h0=3'},'Location','southeast');
%modello; q
qspan=linspace(1,2,3);h0=1;
figure(6);
for i=1:3
q=qspan(i);
[T,Y]=ode45(@altezza12,[0 200],y0);
plot(T,Y(:,2));hold on;
end
grid;
xlabel('tempo');ylabel('variazione altezza');
title('risposta nel tempo modello serbatoio 2');
legend({'q=1','q=1.5','q=2'},'Location','southeast');
%caso reale; q
qspan=linspace(1,2,3);
figure(7);
for i=1:3
q=qspan(i);
[T,Y]=ode45(@altezzaNL,[0 200],y0);
plot(T,Y(:,2));hold on;
end
grid;
xlabel('tempo');ylabel('variazione altezza');
title('risposta nel tempo caso reale serbatoio 2');
legend({'q=1','q=1.5','q=2'},'Location','southeast');
%modello; A
Aspan=linspace(1,2,3); q=1;
figure(8);
for i=1:3 11
A=Aspan(i);
[T,Y]=ode45(@altezza12,[0 200],y0);
plot(T,Y(:,2));hold on;
end
grid;
xlabel('tempo');ylabel('variazione altezza');
title('risposta nel tempo modello serbatoio 2');
legend({'A=1','A=1.5','A=2'},'Location','southeast');
%caso reale; A
Aspan=linspace(1,2,3);
figure(9);
for i=1:3
A=Aspan(i);
[T,Y]=ode45(@altezzaNL,[0 200],y0);
plot(T,Y(:,2));hold on;
end
grid;
xlabel('tempo');ylabel('variazione altezza');
title('risposta nel tempo caso reale serbatoio 2');
legend({'A=1','A=1.5','A=2'},'Location','southeast'); 12
ESERCIZIO 2
Con riferimento allo schema in figura, in cui è rappresentato un sistema lineare di ordine 2:
a) Studiare la risposta per ingresso a gradino all’aumentare del numero di serbatoi n e dei loro volumi
(V , V ,…. V );
1 2 n
b) Per un prefissato n=5 approssimare la risposta con un sistema del tipo primo ordine più ritardo
o
(FOPTD), in modo da minimizzare l’errore tra la risposta vera Y(t) e la risposta approssimata Y (t),
∞ 2
= () ; () = () − ();
per mezzo della funzione ∫
0 () = sin(),
c) Studiare l’andamento della risposta per un ingresso sinusoidale (al variare del
numero di serbatoi n e della pulsazione ω); valutare analiticamente l’ampiezza dell’uscita allo
1
=
stazionario, sapendo che per un singolo elemento la relazione è .
2
√1+( )
a) Nel caso di n=2, il bilancio materiale risulta:
· () = · () + ·
1
{
· () = · () + ·
2
Per un generico serbatoio i-esimo:
() ()
· = · + ·
−1
Ipotesi:
• Volumi costanti;
• Portate volumetriche costanti e uguali;
• Assenza di reazione chimica;
• Perfetto miscelamento 13
() ()
= + · ; = ; = 1, …
−1
(0)
= 0
(0)
=
{ 0
Il problema è stato studiato inizialmente ipotizzando lo stesso volume per tutti i serbatoi, e facendo variare
il loro numero.
Si riporta il grafico per n=5.
Si osserva che all’aumentare del numero di serbatoi aumenta il tempo di permanenza totale, ovvero la
concentrazione impiega più tempo a raggiungere il nuovo valore stazionario derivante dall’ingresso a
gradino.
Successivamente sono stati variati i volumi di ciascun serbatoio, osservando come varia la risposta per i
casi:
• V <V <…<V (volume dei serbatoi aumenta)
1 2 n
• V >V >…>V (volume dei serbatoi decresce)
1 2 n
Nel primo caso si osserva un aumento dei tempi di permanenza, infatti procedendo verso l’ultimo
serbatoio aumenta il tempo per raggiungere lo stazionario. Confrontando il grafico con il caso di volumi
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
- Risolvere un problema di matematica
- Riassumere un testo
- Tradurre una frase
- E molto altro ancora...
Per termini, condizioni e privacy, visita la relativa pagina.