Vous êtes sur la page 1sur 19

Université Libre de Tunis

TRAVAUX PRATIQUES
Modélisation, Simulation et Commande des Bio-Procédés

5ème année Génie Biologique et 5ème Agroalimentaire

édité par

O. BOUBAKER et F. REZOUGA

Edition : septembre 2013


Travaux pratiques : Modélisation, Simulation et Optimisation des Bio-Procédés BIO & AGRO-5
___________________________________________________________________________________

INTRODUCTION

Afin de fiabiliser les procédés biologiques le spécialiste en génie des bioprocédés se


voit souvent procéder à une phase de modélisation et de simulation, du fonctionnement
du procédé, et très souvent dès la phase de conception. Il doit donc choisir un logiciel
parmi un large choix qui pourra répondre à ses besoins. A ce stade, on peut affirmer que
trois facteurs seront déterminants :

 Les langages de simulation


 Les modèles de connaissances disponibles
 Les modèles de comportement

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.

Les principaux objectifs de ces travaux pratiques sont donc :

 Se familiariser avec les calculs algébriques numériques et matriciels;


 Maîtriser les différentes représentations graphiques ;
 Exploiter les calculs polynomiaux dans un but de réussir les interpolations
polynomiales et les différentes régressions ;
 Création et utilisation des fonctions ;
 Modéliser et simuler le comportement des bio- procédés ;
 Identifier les paramètres cinétiques ;
 …

______________________________________________________________________
2
Travaux pratiques : Modélisation, Simulation et Optimisation des Bio-Procédés BIO & AGRO-5
___________________________________________________________________________________

TRAVAUX PRATIQUES N°1


Introduction à Matlab : Edition et graphisme
1. But de la manipulation

Les objectifs de la manipulation sont :


 Découverte de l’environnement de Matlab
 Initiation à l’éditeur de Matlab
 Déclaration et indexation des matrices.
 Maîtrise du graphisme.

2. Manipulation
Lancer Matlab en double cliquant sur son icône.

2.1. Introduction à Matlab

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

2.2. Manipulation des scalaires, vecteurs et matrices

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 :

Utiliser les différents formats offerts pour l’affichage des scalaires.


Taper sur l’invite de Matlab chacun des formats d’affichage suivi de 31/3 :
Matlab Command Display Example
format short default 10.6667
format long 14 decimals 10.66666666666667
format bank 2 decimals 10.67
format short e 4 decimals 1.0667e+001
format long e 15 decimals 1.066666666666667 e+001
format + +,-,blank +

______________________________________________________________________
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 :

Commande ligne résultat Commentaire


V1=[1 2 3] V1 =
1 2 3
V2=[1 ;2 ;3] V2 =
1
2
3
V3=[1 2 3]’ V3 =
1
2
3
A=[1 2 3 ;3 4 5 ;6 7 8] A=
1 2 3
3 4 5
6 7 8
size(A) ans =
3 3
length(A) ans =
3
A’ ans =
1 3 6
2 4 7
3 5 8
B=A(:,1) B=
1
3
6
C=A(2, :) C=
3 4 5
D=A(3,3) D=
8
E=A(1:2,2:3) E=
2 3
4 5
ones(2,2) ans =
1 1
1 1
eye(3,3) ans =
1 0 0
0 1 0
0 0 1
zeros(3,2) ans =
0 0
0 0
0 0
randn(2,3) ans =
-0.4326 0.1253 -1.1465
-1.6656 0.2877 1.1909
2:10 ans =
2 3 4 5 6 7 8
9 10
1:0.5:3 ans =
1.0000 1.5000 2.0000
2.5000 3.0000

______________________________________________________________________
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 :

Commandes lignes résultats commentaire


x=-1.8 1.8
abs(x)
x=-1.8 -2
round(x)
x=-1.8 -2
floor(x)
x=-1.8 -1
fix(x)
x=-1.8 -1
ceil(x)
x=-1.8 -1
sign(x)
x=4 2
sqrt(x)
x=4 54.5982
exp(x)
x=10 2.3026
log(x)
x=10 1
log10(x)

2.3. Graphisme

Exercice 6 :

1. Créer un nouveau fichier portant le nom « courbes1.m »


2. Ecrire le programme suivant
3. Sauvegarder le fichier crée
4. Exécuter le programme

%**********************************************************************
% 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
___________________________________________________________________________________

1. Créer un nouveau fichier portant le nom « courbes2.m »


2. Ecrire le programme suivant
3. Sauvegarder le fichier crée
4. Exécuter le programme

%**********************************************************************
% 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
___________________________________________________________________________________

TRAVAUX PRATIQUES N°2


Algèbre matricielle
1. But de la manipulation

Les objectifs de la manipulation sont :


 Maîtrise du calcul matriciel
 Maîtrise de l’analyse matricielle.
 La résolution des systèmes linéaires

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

 Compléter la colonne par les détails des calculs

Expression à calculer Résultats Détails du calcul et remarques


A+B ans =
1 3 6
5 8 2
1 3 1
A-B ans =
1 1 0
3 2 -2
1 -1 -1
A.*B ans =
0 2 9
4 15 0
0 2 0
A*B ans =

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
___________________________________________________________________________________

 Ecrire le programme commenté qui permet de :


- Saisir A, B,C et D
- Calculer les résultats déjà obtenus

%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)

2.2. Résolution de systèmes linéaires

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:

Molécule Oxygène Carbone Nitrogène Soufre Hydrogène

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

Y : vecteur contenant les masses molaires des acides aminés.


X : vecteur contenant les masses molaires des molécules d'oxygène (O), de carbone (C ), d'azote (N), de
soufre (S) et d'hydrogène (H).
A : matrice contenant la composition des acides aminés.

______________________________________________________________________
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

1- Quelle est la dimension de A, B et X du système (1 ).



2- Sachant que l'état permanent du système est définie par : X  0

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

3- Créer un nouveau fichier portant le nom « stabilite.m » dans lequel :

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.

2- Afin d’afficher un texte sur Matlab il suffit de le mettre entre guillemets.


Exemple :
>>’ bonjour’
ans=
bonjour

______________________________________________________________________
9
Travaux pratiques : Modélisation, Simulation et Optimisation des Bio-Procédés BIO & AGRO-5
___________________________________________________________________________________

TRAVAUX PRATIQUES N°3


Calculs polynomiaux

1. But de la manipulation

Les objectifs de la manipulation sont :


 Maîtrise de la manipulation des polynômes
 Utilisation des interpolations et régressions
 Analyse des résultats par des méthodes probabilistes

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].

1. Déterminer les racines des polynômes P1 et P2


2. Chercher un polynôme P3 qui a pour racines r1=1, r2=2 et r3=4.
3. Calculer le produit des deux polynômes P1 et P2, appelé P4.
4. Evaluer les polynômes P1, P2 et P4 au point x=1

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 :

SFN : traitement à la soude et une fermentation normale


SFD : traitement à la soude et fermentation dirigée (ensemencement de bactéries lactiques)
TFN : traitement thermique et fermentation normale
TFD : traitement thermique et fermentation dirigée
STFD : traitement à la soude, traitement thermique et une fermentation dirigée

Il s’agit de déterminer à partir des résultats obtenus le procédé optimal.

- Créer un nouveau fichier portant le nom « fermentation.m »


- Ecrire le programme suivant
- Sauvegarder le fichier crée
- Exécuter le programme

______________________________________________________________________
10
Travaux pratiques : Modélisation, Simulation et Optimisation des Bio-Procédés BIO & AGRO-5
___________________________________________________________________________________

1. Tracer les courbes de variation du pH en fonction des jours de fermentation

%Saisir le vecteur tj correspondant aux jours de la fermentation


des olives de table vertes
tj=[4 6 8 11 13 14 18 20 23 30 34 37 58] ;
%Saisir les vecteurs pHSFN, pHSFD, pHTFN, pHTFD et pHSTFD
correspondant aux pH mesurés pour chaque type de fermentation
pHSFN=[5.375 5.3 5.15 4.33 4.325 4.295 4.22 4.165 4.185 4.19 4.185
4.155 4.05] ;
pHSFD=[5.325 5.195 4.895 4.35 4.305 4.32 4.285 4.19 4.25 4.235 4.26
4.235 4.165] ;
pHTFN=[4.75 4.23 3.99 3.95 3.91 3.93 3.945 3.895 3.935 4.015 4 3.94
3.805] ;
pHTFD=[4.525 4.055 3.88 3.925 3.925 3.945 3.935 3.84 3.835 3.93
3.89 3.86 3.715] ;
pHSTFD=[5.185 4.865 4.305 4.215 4.185 4.21 4.15 4.055 4.055 4.05
4.015 4.015 3.93] ;
%Tracer sur le même graphe l’évolution en fonction du temps des
différents pH : pHSFN, pHSFD, pHTFN, pHTFD et pHSTFD
figure(1)
plot(tj,pHSFN,tj, pHSFD,tj, pHTFN,tj, pHTFD,tj, pHSTFD)
title('Variation du pH au cours des différentes fermentations des
olives de table vertes')

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

Variation du pH au cours des différentes fermentations des olives de table vertes


5.6
pHSFN
5.4 pHSFD
pHTFN
5.2
pHTFD
pHSTFD
5

4.8
pH

4.6

4.4

4.2

3.8

3.6
0 10 20 30 40 50 60
jours de fermentation

Figure 1. évolution du pH en fonction des jours de fermentation

3. Tracer les courbes d’évolution des bactéries lactiques au cours de la fermentation.

%tracer la courbe d'évolution des lactobacilles XSFN et XSFD en


fonction du temps t
t=[0 2 4 6 8 11 14 18 23 30 37 58 86];
XSFN=[0 2 3.6 5.75 6.57 8.69 8.47 8.95 8.53 5.77 5.34 5.44 5.83];
XSFD=[7.79 5.62 4.65 5.55 7.46 8.69 8.6 8.53 8.71 6.39 6 5.63
5.94];
figure(2)
plot(t,XSFN,'r+',t,XSFD,'b*')
title('évolution des lactobacilles au cours de la fermentation
naturelle et dirigée avec procédé alcalin')

______________________________________________________________________
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

%détermination de la valeur maximale des bactéries lactiques


m1=max(XSFN)
m2=max(XSFD)
%détermination de l’indice correspondant à la valeur maximale des
B.L
[y1,k1]=max(XSFN)
[y2,k2]=max(XSFD)
%ces indices k1 et k2 permettent de trouver les jours
correspondants aux valeurs maximales des bactéries lactiques.
t1=t(k1)
t2=t(k2)

5. Trouver, pour les deux fermentations SFN et SFD, les valeurs de bactéries lactiques correspondant à
t= 35 et 42 jours.

%trouver les valeurs des bactéries lactiques correspondant pour


les deux procédés à t=35 et t=42 jours
t35N=interp1(t,XSFN,35)
t42N=interp1(t,XSFN,42)
t35D=interp1(t,XSFD,35)
t42D=interp1(t,XSFD,42)

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

Soient les données expérimentales relevées sur les tableaux suivants :

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 :

pH 6.5 7 7.5 8.5


Activité (Mm/h) 0.174 0.228 0.576 0.24

Ecrire un programme sur MATLAB permettant de :

1. Trouver le pH et la température qui correspondent à l’activité optimale de la β-galactosidase .

2. Trouver le pH et la température qui correspondent à l’activité minimale de la β-galactosidase .

3. Trouver l’activité de l’enzyme correspondant à une température de32C°.

4. Trouver l’activité de l’enzyme correspondant à un pH de 6.8.

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 1 : Comptage des cellules vivantes cultivées sur un milieu VP-SFM

Temps (h) 0 24 48 72 96 168


Nombre de cellules 0.9 105 5.2 104 7.2 104 4.8 105 6.6 105 5.0 105
vivantes(X)/mL
Ln(X) 11.5 10.85 11.18 13.08 13.39 13.12

Tableau 2 : Comptage des cellules vivantes cultivées sur un milieu MEM+10% SVF (serum de veau
fœtale ) :

Temps (h) 0 24 48 72 96 168


Nombre de cellules 0.9 105 4.4 104 2.54 105 5.8 105 9.2 105 8.0 105
vivantes(X)/mL
LnX 11.5 10.69 12.44 13.27 13.73 13.59

Ecrire sur MATLAB un programme permettant de :

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 :

LnX 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  Ln2
g
µmax

______________________________________________________________________
13
Travaux pratiques : Modélisation, Simulation et Optimisation des Bio-Procédés BIO & AGRO-5
___________________________________________________________________________________

TRAVAUX PRATIQUES N°4


Utilisation des fonctions

1- But de la manipulation

Les objectifs de la manipulation sont :


 Maîtrise de l’écriture des fonctions.
 Utilisation des fonctions

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

1- Créer un nouveau fichier portant le nom « F.m »


2- Ecrire le programme suivant
3- Sauvegarder le fichier créé

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

4- Sur l’invite de Matlab, évaluer la fonction F aux points :


a. x=3 ;
b. x= [-5, -1,2]
5- Modifier cette fonction pour que F([-5,-1,2;3,4,0]) renvoie [F(-5),F(-1),F(2);F(3),F(4),F(0)].

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éé

Le script myode.m est le suivant:

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

1- Créer une nouveau fichier portant le nom « erreur.m »


2- Ecrire le programme suivant
3- Sauvegarder le fichier créé

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)

4- Créer une nouveau fichier portant le nom « identification.m »


5- Ecrire le programme suivant
6- Sauvegarder le fichier créé

______________________________________________________________________
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
___________________________________________________________________________________

TRAVAUX PRATIQUES N°5

Modélisation et simulation d’un procédé de


fermentation alcoolique

Soit le procédé à de fermentation alcoolique assurée par la levure Saccharomyces


cerevisiae utilisant du glucose comme substrat et alimenté en continu, représenté par la
figure suivante.

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

1. Simuler le modèle présenté ci-dessus en mode continu pour une fermentation de 14


heures en considérant les données suivantes :

Caractérisation du point initial :


S0 = 20 g.l-1
X0 =1 g.l-1
P0 =0 g.l-1

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

Caractérisation de la cinétique de fermentation alcoolique:


µmax = 0.4 h-1
KS =5 g.l-1
Pm = 70 g.l-1
Ki = 201 g.l-1
vmax = 1.4 h-1
K’S =9 g.l-1
K’i = 297 g.l-1
YP = 0.48 gP.gS-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
___________________________________________________________________________________

3. Une fermentation alcoolique a été conduite expérimentalement dans les mêmes


conditions que celle prévues par la simulation du modèle détaillé ci-dessus. La
concentration en éthanol a été mesurée et les valeurs sont détaillées dans le tableau
suivant :

t(h) 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 6


-1
éthanol(g.l ) 0.110 0.274 1.018 1.121 1.958 2.696 3.095 3.969 4.161 4.383 5.153 6.142 6.413

t(h) 6.5 7 7.5 8 8.5 9 9.5 10 10.5 11 11.5 12 12.5


-1
éthanol(g.l ) 6.981 7.520 7.282 7.900 8.158 8.314 8.654 9.129 8.918 9.246 8.915 9.094 8.963

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

Vous aimerez peut-être aussi