Team:Evry/Programming

From 2013.igem.org

(Difference between revisions)
Line 6: Line 6:
<h1>Programming methods</h1>
<h1>Programming methods</h1>
 +
This part exposes our technical and algorithmical choices, the implementation and the numerical resolution of our models.<br/>
 +
<h2>Models implementation</h2>
 +
All our models are using the Python language. Python has several major perks:
 +
<ul>
 +
<li>Very good floating numbers management</li>
 +
<li>High level programming</li>
 +
<li>Object-oriented</li>
 +
<li>Not an exclusively numerical tool, which allows much more options than Scilab or Matlab</li>
 +
</ul>
 +
<h2>Numerical resolution of ODEs</h2>
 +
We chose not to use the resolution functions included in Scipy to have more coding liberties.<br/>
 +
To solve our ODEs, we used a simple Euler method. Here is an example:<br/>
 +
 +
Soit un le problème de Cauchy suivant :
 +
<img src=""/><br/>
 +
 +
 +
On considére le dévellopement limité :
 +
<img src=""/><br/>
 +
 +
 +
 +
On défini la suite <img src=""/> tel que <img src=""/> et <img src=""/>
 +
et ainsi on définie <img src=""/> tel que <img src=""/> et <img src=""/>
 +
 +
Ainsi on peut définir le schéma d'euler :
 +
<img src=""/><br/>
 +
 +
 +
Ce qui donne en forme standard : <img src=""/>
 +
Ainsi tout nos systèmes se présentent dans le code sous la forme suivante :
 +
<img src=""/><br/>
 +
 +
où N est le nombre d'équations du système
 +
 +
On implémente ainsi les système en python. L’accès au code source de la résolutions numériques nous permet d'introduire des domaines de définitions pour les variables d'états. Ce qui permet d'avoir plus de stabilité dans la résolutions numériques.
 +
 +
Le tout est encapsulé dans une classe python pour une utilisation plus simple.
 +
 +
 +
 +
 +
<h2>Display</h2>
 +
<p>
 +
We used the Matplot library to display 2D and 3D curves.
 +
</p>
</div>
</div>

Revision as of 22:57, 4 October 2013

Iron coli project

Programming methods

This part exposes our technical and algorithmical choices, the implementation and the numerical resolution of our models.

Models implementation

All our models are using the Python language. Python has several major perks:
  • Very good floating numbers management
  • High level programming
  • Object-oriented
  • Not an exclusively numerical tool, which allows much more options than Scilab or Matlab

Numerical resolution of ODEs

We chose not to use the resolution functions included in Scipy to have more coding liberties.
To solve our ODEs, we used a simple Euler method. Here is an example:
Soit un le problème de Cauchy suivant :
On considére le dévellopement limité :
On défini la suite tel que et et ainsi on définie tel que et Ainsi on peut définir le schéma d'euler :
Ce qui donne en forme standard : Ainsi tout nos systèmes se présentent dans le code sous la forme suivante :
où N est le nombre d'équations du système On implémente ainsi les système en python. L’accès au code source de la résolutions numériques nous permet d'introduire des domaines de définitions pour les variables d'états. Ce qui permet d'avoir plus de stabilité dans la résolutions numériques. Le tout est encapsulé dans une classe python pour une utilisation plus simple.

Display

We used the Matplot library to display 2D and 3D curves.