Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
TRAVAUX PRATIQUES
Modélisation, Simulation et Commande des Bio-Procédés
édité par
O. BOUBAKER et F. REZOUGA
INTRODUCTION
Matlab est un langage simple et très efficace, optimisé pour le traitement des matrices.
Pour le calcul numérique, Matlab est beaucoup plus concis que les “vieux” langages (C,
Pascal, Fortran, Basic)
Pour toutes ses raisons, notre choix s’est porté sur le Logiciel Matlab considéré
actuellement comme le logiciel incontournable pour le calcul scientifique.
______________________________________________________________________
2
Travaux pratiques : Modélisation, Simulation et Optimisation des Bio-Procédés BIO & AGRO-5
___________________________________________________________________________________
2. Manipulation
Lancer Matlab en double cliquant sur son icône.
Exercice 1 :
Taper sur l’invite de Matlab les commandes suivantes en déduire la fonction de chacune :
- intro
- demo
- help
- help help
- help fonction (exemple de fonction : sin)
- lookfor fonction (exemple de fonction : plot)
- Cliquez sur le menu « help » et préciser les options offertes
Exercice 2 :
Taper sur l’invite de Matlab les commandes lignes suivantes et commenter les résultats :
Commande ligne Résultat Commentaire
pi 3.1416
eps 2.2204e-016
1/0 Inf
0/0 NaN
3/2 1.5000
3\2 0.6667
3^1/2 ou 3^(1/2) 1.5000 ou 1.7321
Exercice 3 :
______________________________________________________________________
3
Travaux pratiques : Modélisation, Simulation et Optimisation des Bio-Procédés BIO & AGRO-5
___________________________________________________________________________________
Exercice 4 :
Taper sur l’invite de Matlab les commandes lignes suivantes et préciser les résultats :
______________________________________________________________________
4
Travaux pratiques : Modélisation, Simulation et Optimisation des Bio-Procédés BIO & AGRO-5
___________________________________________________________________________________
Exercice 5 :
Taper sur Matlab les commandes lignes suivantes et commenter les résultats pour :
2.3. Graphisme
Exercice 6 :
%**********************************************************************
% Graphisme 1
%**********************************************************************
%Saisir les valeurs de x
x=[0 30 60 90];
%Calculer y1=sin(x) et y2=cos(x)
y1=sin(x) ;
y2=cos(x) ;
%Tracer sur le même graphe les courbes y1=sin(x) et y2=cos(x) en utilisant la commande ‘plot’
plot(x,y1,'r-',x,y2,'b*')
%Utiliser le commande 'title' pour affecter un nom au graphique
title('courbes des fonctions sinus et cosinus')
%Etiqueter les axes grâce aux commandes ‘xlabel’ et ‘ylabel’
xlabel('x')
ylabel('y')
%Cadriller votre graphique
grid
5. Changer à partir de la courbe, les couleurs des courbes, la nature des tracés, la légende, le titre, les
commentaires sur les axes…
6. Refaire la même chose en modifiant les commandes plot, title, xlabel, ylabel.
7. Trouver la commande qui permet d’afficher la légende sur votre graphique.
Exercice 7 :
______________________________________________________________________
5
Travaux pratiques : Modélisation, Simulation et Optimisation des Bio-Procédés BIO & AGRO-5
___________________________________________________________________________________
%**********************************************************************
% Graphisme 2
%**********************************************************************
% subplot(L,C,i) :Découpe la fenêtre graphique courante en L lignes et C colonnes, c'est-à-dire
en L x C espaces qui disposeront chacun leur propre système d'axes (mini graphiques).
Sélectionne en outre la i-ème zone (celles-ci étant numérotées ligne après ligne) comme espace de
tracé courant.
%**********************************************************************
%Tracer la 1ère zone, illustrant le texte « Multiple plots », ne montrant aucun axe et ayant pour
titre « zone 1 »
subplot(2,2,1);
plot([0 1 1 0 0],[0 0 1 1 0]);
text(0.2,0.5,'Multiple plots');
axis('off'); legend('off'); title('zone 1');
%Tracer la 2ème zone, illustrant un graphique de type camembert de la série de données « x » et
ayant pour titre « zone 2 »
subplot(2,2,2);
x=[2 1 5 3];
pie(x); legend('a','b','c','d');
title('zone 2');
%Tracer la 3ème zone, illustrant un graphique de type histogramme de la série de données y et
ayant pour titre « zone 3 »
y=randn(18,1)
subplot(2,2,3);
bar(y); title('zone 3');
%Tracer la 4ème zone, illustrant la fonction «x*cos(x) » lorsque -10*pi <x <10*pi et ayant pour
titre « zone 4 »
subplot(2,2,4);
fplot('x*cos(x)',[-10*pi 10*pi]);
title('zone 4');
______________________________________________________________________
6
Travaux pratiques : Modélisation, Simulation et Optimisation des Bio-Procédés BIO & AGRO-5
___________________________________________________________________________________
2. Manipulation
2.1. Initiation
1 2 3 0 1 3 1
on donne : A 4 5 0 , B 1 3 2 , C 1 0 2, D 2
1 1 0 0 2 1 1
2 13 10
5 19 22
1 4 5
Produit scalaire de C.DT D' =
1 2 1
dot(C,D')
ps =
3
Déterminant de A det(A)
ans =
-3
Inverse de A inv(A)
ans =
0 -1.0000 5.0000
0 1.0000 -4.0000
0.3333 -0.3333 1.0000
Valeurs propres de A eig(A)
ans =
6.8157
-1.1867
0.3709
______________________________________________________________________
7
Travaux pratiques : Modélisation, Simulation et Optimisation des Bio-Procédés BIO & AGRO-5
___________________________________________________________________________________
%saisir A,B,C et D
A=[1 2 3; 4 5 0;1 1 0];
B=[0 1 3;1 3 2;0 2 1];
C=[1 0 2];
D=[1;2;1];
%calcul de A+B
S=A+B
%calcul de A-B
F=A-B
%calcul de A.*B
E=A.*B
%calcul du produit A par B
P=A*B
%calcul du produit scalaire C.DT
DT=D'
ps=dot(C,DT)
%calcul du déterminant de A
det(A)
%calcul des valeurs propres de a
eig(A)
%calcul de l'inverse de A
inv(A)
Exercice 1
On se propose de chercher la masse molaire de certains acides aminés. Sachant que les masses molaires
des molécules d'oxygène (O), de carbone (C ), d'azote (N), de soufre (S) et d'hydrogène (H) sont données
par le tableau suivant:
Masse molaire en
g.mol-1 15.9994 12.011 14.00674 32.066 1.00794
Ecrire un modèle sous la forme Y AX permettant de calculer la masse molaire des acides aminés
suivants: Valine, Serine, Glutamine, sachant que :
- Valine : C5H11NO2
- Serine : C3H7NO3
- Glutamine : C5H9NO4
______________________________________________________________________
8
Travaux pratiques : Modélisation, Simulation et Optimisation des Bio-Procédés BIO & AGRO-5
___________________________________________________________________________________
Exercice 2
On se propose d'étudier la stabilité d'un procédé à boues activées traitant des eaux résiduaires urbaines. Le
modèle dynamique décrivant la cinétique de dépollution est non linéaire.
L'étude de la stabilité du modèle non linéaire s'avère très complexe. On se propose donc de linéariser le
système autour de son état permanent. Le modèle d'état linéarisé du bioréacteur est donné par :
X AX Bu (1)
X : vecteur d’état ;
A : matrice d’état ;
B : matrice de commande ;
u : variable de commande.
1 2 3 1
Après tout calcul on obtient : A 4 5 0 , B 2
1 1 0 1
a. Donner l'expression de l'état permanent X autour duquel se stabilise le système (1) pour
une commande u.
b. Calculer alors X pour u = 5
a. Saisir la matrice A
b. Calculer les valeurs propres de la matrice A
c. Conclure sur la stabilité asymptotique du système linéarisé (1) du bioréacteur en
utilisant la boucle if.
Remarques :
1- Si toutes les valeurs propres de la matrice d'état A sont à parties réelles
négatives on dit alors que l'état permanent est asymptotiquement stable sinon
le système est instable.
______________________________________________________________________
9
Travaux pratiques : Modélisation, Simulation et Optimisation des Bio-Procédés BIO & AGRO-5
___________________________________________________________________________________
1. But de la manipulation
2. Manipulation
2.1. Manipulation des polynômes
Exercice 1
Ecrire un programme polynome1.m permettant la saisie des deux polynômes suivants P1 et P2
P1 x x 2 6 x 9
P2 x x 2 2 x 3
Remarque
un polynôme P d’ordre n, tel que P(x)=an.xn+an-1.xn-1+…+a1.x+a0 est introduit sous MATLAB sous
forme d'un vecteur ligne de dimension n+ 1. Les éléments de ce vecteurs sont les coéfficients du
polynome, , commençant par le degré le plus élevé soit P=[an an-1 … a1 a0].
2.2. Interpolations :
Exercice 2
Le travail consiste à optimiser un procédé de fermentation d’olives de table vertes. Dans un premier
temps on fait varier plusieurs paramètres qui sont le traitement à la soude, le traitement thermique, et le
type de fermentation. Soient donc :
______________________________________________________________________
10
Travaux pratiques : Modélisation, Simulation et Optimisation des Bio-Procédés BIO & AGRO-5
___________________________________________________________________________________
2. Comparer la courbe obtenue à celle de la Figure 1. S’il y a des différences, modifier le programme
afin d’obtenir une figure identique à la Figure 1
4.8
pH
4.6
4.4
4.2
3.8
3.6
0 10 20 30 40 50 60
jours de fermentation
______________________________________________________________________
11
Travaux pratiques : Modélisation, Simulation et Optimisation des Bio-Procédés BIO & AGRO-5
___________________________________________________________________________________
4. Déterminer les jours de fermentation correspondant aux valeurs maximales des bactéries lactiques
5. Trouver, pour les deux fermentations SFN et SFD, les valeurs de bactéries lactiques correspondant à
t= 35 et 42 jours.
6. Tracer les courbes t=f(XSFN) et t=f(XSFD) par interpolation polynomiale avec une erreur sur les
mesures au sens des moindre carrées :
Remarque :
Dans le domaine de l’analyse numérique des données, on a souvent besoin d’établir un modèle
mathématique liant plusieurs séries de données expérimentales. L’interpolation polynomiale consiste à
approcher la courbe liant les deux séries de mesures par un polynôme. Les coefficients optimaux de ce
polynôme sont ceux qui minimisent la variance de l’erreur d’interpolation. Ce principe est connu sous le
nom de la méthode des moindres carrés. La fonction ‘polyfit’ retourne le polynôme P de degré n
permettant d’approcher la courbe y=f(x) au sens des moindres carrés
%interpolation polynomiale
P1= polyfit(t,XSFN,4) ;
P2= polyfit(t,XSFD,4) ;
t1=0:0.1:86 ;
y1=polyval(P1,t1) ;
y2=polyval(P2,t1) ;
figure(3)
plot(t1,y1,'r-',t,XSFN,'b*')
figure(4)
plot(t1,y2,'r-',t,XSFD,'b*')
Exercice 3
On se propose de caractériser la cinétique de la β-galactosidase en étudiant :
-l’influence de la température
-l’influence du pH
Effet de la température :
Température(c°) 4 20 30 40 50
Activité (mM/h) 0.576 1.1 1.536 2.22 1.2
______________________________________________________________________
12
Travaux pratiques : Modélisation, Simulation et Optimisation des Bio-Procédés BIO & AGRO-5
___________________________________________________________________________________
Effet du pH :
Exercice 4
On se propose d’étudier une cinétique comparative de la croissance des cellules VERO (utiliser pour la
production de vaccin anti-rabique) sur un milieu avec serum MEM et un milieu sans sérum VP-SFM en
flacon de culture de 25 cm² . Les expériences donnent les résultats des tableaux suivants :
Tableau 2 : Comptage des cellules vivantes cultivées sur un milieu MEM+10% SVF (serum de veau
fœtale ) :
1- Pour chacune des deux cultures, tracer sur le même graphique la série de données obtenu
expérimentalement et la courbe X=f( temps ) obtenue par interpolation polynomiale avec une erreur
sur les mesures au sens des moindre carrée ( pas de 6 h) pour les deux cas, sur deux figures
différentes.
2- Pour chacune des deux cultures, déterminer la densité cellulaire maximale pour les deux cas à partir
de la courbe X=f( temps).
3- Pour chacune des deux cultures, tracer sur le même graphique la série de données obtenu
expérimentalement et la courbe Ln X=f( temps ) obtenue par interpolation polynomiale avec une
erreur sur les mesures au sens des moindre carrée ( pas de 6 h) pour les deux cas, sur deux figures
différentes.
4- A partir de la courbe Ln (X)=f( temps), déterminer la vitesse spécifique maximale ( µ max ) des
cellules pour les deux cas, de deux manières différentes :
a. Par interpolation polynômiale de la série de données expérimentales correspondant à la phase
exponentielle.
b. En calculant la pente de la droite représentant Ln(X)=f(temps) pendant la phase exponentielle :
LnX j Ln( X i )
µmax
t j ti
5- Déterminer le temps de génération ( tg) des cellules pour les deux cas sachant que : t Ln2
g
µmax
______________________________________________________________________
13
Travaux pratiques : Modélisation, Simulation et Optimisation des Bio-Procédés BIO & AGRO-5
___________________________________________________________________________________
1- But de la manipulation
2- Manipulation
2.1. Manipulation des fonctions
Une fonction MATLAB est un fichier .m particulier dont la première ligne commence par «function».
Une fonction peut être utilisée dans les expressions mathématiques ou dans les instructions MATLAB.
Exercice 1
function y=F(x)
% fonction définie par morceaux
if x < -1
y= (x^2)+2-(1/(x+1));
elseif x>-1
y=exp(1/(x+1));
else
y=0;
end
Exercice 2
Il s’agit de modéliser le refroidissement d’un corps. Le corps à la température y0=100 est plongé dans un
milieu de température s=10. On suppose le taux de refroidissement K constant = -0.1.
L’équation différentielle est : dy/dt = K(y-s).
1- Créer un nouveau fichier portant le nom « myode.m »
2- Ecrire le programme suivant
3- Sauvegarder le fichier créé
function dy = myode(t, y)
% le taux de refroidissement
K=-0.1 ;
% la température du milieu récepteur
s=10 ;
% l’équation différentielle
dy = K*(y-s);
L’évolution dans le temps de la température y est obtenue en résolvant l’équation différentielle à l’aide de
ode45 : (fichier refroidissement.m)
______________________________________________________________________
14
Travaux pratiques : Modélisation, Simulation et Optimisation des Bio-Procédés BIO & AGRO-5
___________________________________________________________________________________
%temps initial
tinitial=0 ;
%temps final
tfinal=60 ;
%température du corps à tinitial
y0=100 ;
%Intégration de l’équation différentielle
[t y] = ode45(‘myode’, [tinitial tfinal], y0)
%temps initial
plot(t,y)
xlabel(‘time’)
ylabel(‘température’)
title(‘Evolution de la température en fonction du temps’)
Exercice 3
Lors de la caractérisation d’une cinétique de croissance microbienne de la levure Saccharomyces
cerevisiae, la concentration de la biomasse a été mesurée expérimentalement au cours du temps lors de la
phase exponentielle
Temps(h) 0.00 0.08 0.17 0.25 0.33 0.42 0.50 0.58 0.67 0.75
X(g/l) 1.00 1.42 0.80 1.52 1.90 0.82 0.81 2.47 2.33 2.48
Temps(h) 0.83 0.92 1.00 1.08 1.17 1.25 1.33 1.42 1.50
X(g/l) 4.54 3.75 3.95 5.30 5.96 9.23 11.85 15.97 22.49
Le but de cet exercice est d’identifier le taux spécifique maximal de croissance de la levure
Saccharomyces cerevisiae. Il s’agit de minimiser les écarts rentre les valeurs expérimentales et les valeurs
simulées par le modèle caractérisant la croissance microbienne pendant la phase exponentielle:
X X 0 .e µ max .t
La fonction objective, à minimiser, est l’erreur au sens des moindres carrés, appelée erreur, et
l’algorithme d’optimisation est celui de Nelder-Mead programmé par la fonction fminsearch
function y=erreur(mumax)
% le vecteur temps en heure
texp=[0 0.08 0.17 0.25 0.33 0.42 0.50 0.58 0.67 0.75 0.83 0.92 1 1.08
1.17 1.25 1.33 1.42 1.5] ;
% la biomasse mesurée en g/l
Xexp=[1 1.42 0.8 1.52 1.9 0.82 0.81 2.47 2.33 2.48 4.54 3.75 3.95 5.30
5.96 9.23 11.85 15.97 22.49] ;
% modèle de la croissance exponentielle
X0=Xexp(1) ;
X=X0*(exp(mumax*texp));
% la fonction objective : somme des écarts au carré
ecart=X-Xexp;
y=sum(ecart .^ 2)
______________________________________________________________________
15
Travaux pratiques : Modélisation, Simulation et Optimisation des Bio-Procédés BIO & AGRO-5
___________________________________________________________________________________
clear;clc
close all
% initialisation
mumax0=0.3;
% identification de µmax en h-1
mumax= fminsearch(@erreur,mumax0)
texp=[0 0.08 0.17 0.25 0.33 0.42 0.50 0.58 0.67 0.75 0.83 0.92 1 1.08
1.17 1.25 1.33 1.42 1.5] ;
% la biomasse mesurée en g/l
Xexp=[1 1.42 0.8 1.52 1.9 0.82 0.81 2.47 2.33 2.48 4.54 3.75 3.95 5.30
5.96 9.23 11.85 15.97 22.49] ;
% la biomasse simulée en g/l
X0=Xexp(1) ;
X=X0*(exp(mumax*texp));
% figure illustrant la biomasse mesurée expériemntalement et la
biomasse simulée
plot(texp,Xexp,'b*',texp,X,'r-')
______________________________________________________________________
16
Travaux pratiques : Modélisation, Simulation et Optimisation des Bio-Procédés BIO & AGRO-5
___________________________________________________________________________________
En se basant sur les bilans matières massiques, montrer que le modèle mathématique
représentant la cinétique de fermentation alcoolique en continu peut être représenté par :
d VX
dt μXV Qout X
d VS
v s XV QinS in Qout S
dt
d VP
dt v p XV Qout P
S P
μ μ max . 2
1
S Pm
Ks S
Ki
S
avec v p v max .
S2
K S' S '
Ki
vp
v s Y
p
Qin
On donne: D
V
______________________________________________________________________
17
Travaux pratiques : Modélisation, Simulation et Optimisation des Bio-Procédés BIO & AGRO-5
___________________________________________________________________________________
où :
S : concentration du substrat (g.l-1)
X : concentration de la biomasse (g.l-1)
P : concentration du produit (g.l-1)
V : volume réactionnel (l)
Qin : débit d’entrée (l.h-1)
Qout : débit de sortie (l.h-1)
Sin : concentration d’alimentation en substrat (g.l-1)
µ : taux spécifique de croissance de la biomasse (h-1)
µmax : taux spécifique maximal de croissance de la biomasse (h-1)
KS : constante d’affinité au substrat relative à la dégradation du substrat (g.l-1)
Pm : coefficient d’inhibition par l’alcool (g.l-1)
Ki : constante d’inhibition relative à la dégradation du substrat (g.l-1)
K’S : constante d’affinité au substrat relative à la production d’alcool (g.l-1)
K’i : constante d’inhibition relative à la production d’alcool (g.l-1)
vS : taux spécifique de dégradation du substrat (gX.gS-1. h-1)
vP : taux spécifique de production d’alcool (h-1)
vmax : taux spécifique maximal de production d’alcool (h-1)
YP : rendement de conversion du substrat en produit en (gP.gS-1)
D : taux de dilution (h-1)
X 0 X 0
Soient les conditions initiales suivantes : S 0 S0
P 0 P
0
Caractérisation du procédé:
V =1 l
Qin = 0.1 l.h-1
Qout = 0.1 l.h-1
Sin = 20 g.l-1
2. Etudier la sensibilité des paramètres cinétiques : µmax, KS, Pm, Ki, vmax, K’S, K’i, YP
______________________________________________________________________
18
Travaux pratiques : Modélisation, Simulation et Optimisation des Bio-Procédés BIO & AGRO-5
___________________________________________________________________________________
t(h) 13 13.5 14
-1
éthanol(g.l ) 6.981 7.520 7.282
Identifier les nouvelles valeurs des paramètres cinétiques: µmax, KS, Pm, Ki, vmax, K’S,
K’i, YP
______________________________________________________________________
19