Factorisation de Cholesky avec python et scipy

Exemple de factorisation de Cholesky avec python et [scipy](https://docs.scipy.org/doc/scipy-0.16.1/reference/generated/scipy.linalg.cholesky.html) en reprenant l'example de [wikipedia](https://fr.wikipedia.org/wiki/Factorisation_de_Cholesky): >>> import numpy as np >>> A = np.array(([1,1,1,1],[1,5,5,5],[1,5,14,14],[1,5,14,15])) >>> A array([[ 1, 1, 1, 1], [ 1, 5, 5, 5], [ 1, 5, 14, 14], [ 1, 5, 14, 15]]) >>> L = linalg.cholesky(A, lo

Créer une liste de nombre décimaux sous python

Pour créer une lise de nombre entiers on peut utiliser la méthode build-in de python range(): >>> l = range(1,10,2) >>> l [1, 3, 5, 7, 9] Pour créer une liste de nombre décimaux sous python on peut procéder de plusieurs façons. Exemple 1: >>> l = [i for i in np.arange(1,5,0.5)] >>> l [1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0, 4.5] exemple 2 avec la méthode tolist(): >>> m = np.arange(1,5,0.5) >>> l = m.tolist() >>> l [1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0, 4.5]

Transformer une matrice en liste sous python

Pour transformer une matrice en liste sous python il existe la méthode [tolist](https://docs.scipy.org/doc/numpy/reference/generated/numpy.ndarray.tolist.html). Exemple avec une matrice 1d: >>> import numpy as np >>> m = np.array((1,2,3,4)) >>> m array([1, 2, 3, 4]) >>> l = m.tolist() >>> l [1, 2, 3, 4] Avec une matrice 2d: >>> m = np.array(((1,2,3,4),(5,6,7,8))) >>> m array([[1, 2, 3, 4], [5, 6, 7, 8]]) >>> l = m.tolist() >>> l [

Tracer une simple fonction avec matplotlib

Exemple simple sur comment tracer une fonction avec [pyplot](http://matplotlib.org/api/pyplot_api.html) de matplotlib: [image:plot-function-matplotlib size:100 caption:Tracer une simple fonction avec matplotlib ] import matplotlib.pyplot as plt import numpy as np def f(x): return x**5 - 5 * x**3 + 2 * x x = np.arange(-2.1,2.2,0.1) y=f(x) plt.grid() plt.xlim(-2.1,2.1) plt.ylim(-8.0,8.0) plt.title("Tracer une fonction avec matplotlib") plt.plot(x,y) plt.savefig('plot_function_

Comment réaliser une intégration numérique avec python ?

Exemple de comment calculer une intégrale à partir d'un tableau de données sous python (pour faire faire une intégration sur une fonction définie voir [Calculer une intégrale simple avec python](/Articles/Calculer-une-intégrale-simple-avec-python/)). Dans cet exemple on suppose que l'on a deux matrices x et y et on veut calculer l'intégrale y(x) (pour illustrer on a pris $y=x^2$). Pour calculer l'intégrale on peut alors utiliser la méthode des trapèzes [numpy.trapz](https://docs.scipy.org/doc/nu

Calculer les polynômes de Legendre en fortran 90

Exemple de code pour calculer les polynômes de Legendre en fortran par récurrence: \begin{equation} P\_n = \frac{(2n-1)}{n}.x.P\_{n-1}-(n-1).P\_{n-2} \end{equation} avec $P_0=1$ et $P_1=x$ Code source: program legendre_polynomials implicit none integer, parameter :: pr = selected_real_kind(15,3) integer :: i,j,n integer :: nb_pl, nb_x real(pr), dimension(:,:), allocatable :: pl real(pr) :: pl_n2, pl_n1 real(pr) :: x, x_min, x_max, x_resol real(pr)

Calculer et tracer les polynômes de Legendre avec python, scipy et matplotlib

Pour calculer les polynômes de Legendre sous python on peut utiliser le module [legendre](https://docs.scipy.org/doc/scipy/reference/generated/scipy.special.legendre.html#scipy.special.legendre) de [scipy](https://docs.scipy.org/doc/scipy/reference/special.html), exemple: [TOC] ### Calculer les polynômes de Legendre avec scipy >>> from scipy.special import legendre >>> n = 3 >>> Pn = legendre(n) >>> Pn(0) 0.0 >>> Pn(0.2) -0.27999999999999997 >>> Pn

Create a tree directory (YYYY-MM-DD) using python

Problem: I want to create a simple tree directory to store data with the following structure: 2008/ ./2008/2008_01_01/ ./2008/2008_01_02/ ./2008/2008_01_03/ ./2008/2008_01_04/ ./2008/2008_01_05/ ./2008/2008_01_06/ ./2008/2008_01_07/ ./2008/2008_01_08/ ./2008/2008_01_09/ ./2008/2008_01_10/ ... ... ./2008/2008_12_28/ ./2008/2008_12_29/ ./2008/2008_12_30/ ./2008/2008_12_31/ Soluce: create a python

Extract hours and minutes from caliop or modis file name using python

##### CALIOP Example: how to extract CALIOP granule hours and minutes from file name using python and [Regular Expression](https://docs.python.org/2/howto/regex.html): >>> import re >>> name = 'CAL_LID_L2_01kmCLay-ValStage1-V3-01.2008-01-08T13-55-27ZD.hdf' >>> x = re.compile("T(.*)-(.*)-(.*)Z") >>> obj = x.search(name) >>> obj.group(1) '13' >>> obj.group(2) '55' >>> ##### MODIS For MODIS it is more easy and fast ! just need to use split: >>> name = '

Comment compresser des fichiers au format zip avec python

Avec python on peut compresser des fichiers au format zip avec le module [ZipFile](https://docs.python.org/3/library/zipfile.html#zipfile-objects). Supposons que l'on veuille compresser 3 fichiers: text_01.txt, text_02.txt et image_01.png. Pour cela on crée d'abord un fichier zip (appelé ici compfiles) puis on vient ajouter les fichiers: >>> import zipfile >>> zip = zipfile.ZipFile('compfiles.zip', 'w') >>> zip.write('text_01.txt') >>> zip.write('text_02.txt') >>> zip.write(

Sauvegarder un tableau de données (une matrice) dans un fichier sous python

Pour sauvegarder un tableau de données (une matrice) dans un fichier sous python on peut utiliser [savetxt](http://docs.scipy.org/doc/numpy/reference/generated/numpy.savetxt.html) de numpy. Exemple: >>> M = np.array([[4,7,2],[9,1,3],[2,7,1]]) >>> M array([[4, 7, 2], [9, 1, 3], [2, 7, 1]]) >>> np.savetxt('test.txt', M) crée le fichier test.txt avec comme contenu 4.000000000000000000e+00 7.000000000000000000e+00 2.000000000000000000e+00 9.000000000

Déterminer le type d'un fichier avec python

Avec python pour déterminer le type d'une fichier (pdf, ascii, video, etc) on peut utiliser [mimetypes](https://docs.python.org/2/library/mimetypes.html). Cependant cette approche se base essentiellement sur le nom de l'extension. Une autre possibilité est d'utiliser une commande linux: "[file](https://linux.die.net/man/1/file)" >>> import os >>> os.system("file toto.png") toto.png: PNG image data, 352 x 514, 8-bit/color RGBA, non-interlaced 0 maintenant si vous voulez stocker

Créer un repertoire en spécifiant les permissions avec Linux

Sous linux en créant un repertoire avec la commande [chmod](https://en.wikipedia.org/wiki/Chmod) il est possible de spécifier les permissions, exemple: mkdir -m 777 test donne avec la command "ls -l": drwxr-xr-x test Rappel sur les permissions: # | Permission | rwx ------------- | ------------- | ------------- 7 | read, write and execute | rwx 6 | read and write | rw- 5 | read and execute | r-x 4 | read only | r-- 3 | write and execute | -wx 2 | write only | -w- 1 | execute only

Chaîne de caractères sur plusieurs lignes en python

Pour écrire une longue chaîne de caractères sur plusieurs ligne en python, le mieux est de faire comme dans cette exemple: >>> s = ("Hello " ... "how are you " ... "today ?") >>> s 'Hello how are you today ?' >>> type(s) <type 'str'> cela évite d'avoir des caractères de contrôle \n\t qui viennent s'insérer dans la chaîne de caractères, exemple >>> s = '''Hello ... how are you ... today ?''' >>> s 'Hello \n\thow are you \n\tto

Centrer le text d'une liste déroulante d'un formulaire html / css

Exemple de comment centrer le texte sélectionné dans une liste déroulante d'un formulaire avec text-align-last: center;. [image:select-input-center-text] Par contre centrer le texte dans les options est un peu plus difficile et il n'existe pas de solution simple avec css pour faire cela. <!DOCTYPE html> <html> <head> <title>Test Select Form Center Text</title> <style> input[type=text], select { text-align: center; text-align-last: center; width: 400px; } </sty

Stopper un script python si une condition n'est pas vérifiée.

Pour stopper/arrêter un code python si une condition n'est pas vérifiée il suffit d'utiliser le module [sys](https://docs.python.org/2/library/sys.html) avec la commande sys.exit(), example: >>> import sys >>> x = 1 >>> for i in range(10): ... x = x + 1 ... if x > 7: ... print x ... sys.exit() ... 8 ici on quitte python quand x est strictement plus grand que 7. Références ------------------ Liens | Site ------------- | --

How to read a MODIS HDF4 file using fortran ?

Following previous article on [How to read a MODIS HDF file using python](/Articles/How-to-read-a-MODIS-HDF-file-using-python-/) let's see how to do the same thing in fortran: Note: HDF libraries have to be installed in your system first (go to the link: [obtaining the hdf software](https://www.hdfgroup.org/release4/obtain.html) ) For example, let's consider the following MODIS HDF file : "MYD06_L2.A2008001.2040.006.2013341205855.hdf". ### How to print all SDS names ? Example of fortran sourc

Convertir un string en integer en fortran

En fortran il est possible de convertir une chaîne de caractères en entier en utilisant la fonction read(), exemple program test implicit none character*10 :: m integer :: i m = '120' read(m,'(i3)') i write(6,*) i, i+1 end program test affiche 120 121 ### Références Liens | Site ------------- | ------------- [character to integer conversion in fortran](http://stackoverflow.com/questions/9900417/character-to-integer-conversion-in-fortran) | stackoverflow

Trouver l'indice minimum d'une matrice 2d avec une ou plusieurs conditions en fortran

Considérons une matrice "a" de dimension 3$\times$2 (3 lignes, 2 colonnes) comme dans cet exemple: \begin{equation} \left( \begin{array}{cc} 5 & 9 \\\\ 2 & 7 \\\\ 6 & 4 \end{array} \right) \end{equation} Pour trouver l'indice correspondant à la valeur minimum de la matrice "a" on peut utiliser la fonction fortran MINLOC qui donne ici (2,1) (deuxième ligne, 1ere colonne). A partir de cette function il est alors possible d'ajouter des conditions: par exemple si on veut trouver l'indice de la li

Code fortran pour vérifier si une année est bissextile

Une année est bissextile si elle est divisible par 4 et non divisible par 100, ou si l'année est divisible par 400 ([wikipedia](https://fr.wikipedia.org/wiki/Ann%C3%A9e_bissextile)). Ce qui peut être traduit en language fortran: program check_leap_year implicit none integer :: i integer :: year logical :: leap_year year = 1900 leap_year = .False. if( MODULO(year,4) == 0 .and. MODULO(year,100) /= 0 ) leap_year = .True. if( MODULO(year,400) == 0 ) leap_year = .True. write(6,*) y

Test wiki Article test 4ddd

### title 1 dummy text dummy text dummy text dummy text dummy text dummy text dummy text dummy text dummy text dummy text dummy text dummy text dummy text dummy text dummy text dummy text dummy text dummy text dummy text dummy text dummy text dummy text dummy text dummy text dummy text dummy text dummy text dummy text dummy text dummy text dummy text dummy text dummy text dummy text dummy text dummy text dummy text dummy text dummy text dummy text dummy text dummy text dummy text dummy text dum

Fixer la taille des colonnes d'un tableau avec un texte long en HTML

Tableau de départ: [image:598 size:100 caption:Fixer la taille des colonnes d'un tableau avec un texte long en HTML (1/4)] <!DOCTYPE html> <head> <style style="text/css"> table{ border: 1px solid black; border-collapse: collapse; } th, td { border: 1px solid black; } </style> </head> <html> <body> <table> <tr> <td>Bob</td> <td>Bill</td> <td>Boule</td> </tr> <tr> <td>texte_tres_tres_tres_tres_tres_tres_tres_tres_long</td> <td>23</td> <td>14</td> </tr> </table>

Comment créer une image à partir d'un document pdf avec imagemagick et python ?

En ligne de commande, pour créer simplement une image à partir d'un pdf le plus simple est de passer par [imagemagick](http://www.imagemagick.org/script/index.php). Pour créer un aperçu de la première page d'un document pdf il suffit alors de taper la commande : convert MonDocument.pdf[0] image.jpg [0] correspond ici à l'indice de la première page du document MonDocument.pdf. Pour transformer la page 4 en image il suffit de taper MonDocument.pdf[3]. Il est possible aussi de modifier la

Ouvrir un lien dans une autre page avec le HTML

Sous HTML pour créer un lien la syntaxe est la suivante <a href="http://www.wikipedia.org/">Wikipedia</a> Si on veut maintenant que le lien ouvre une nouvelle fenêtre il faut ajouter l'argument target="_blank" dans la balise, exemple: <!DOCTYPE html> <html> <body> <a href="http://www.wikipedia.org/" target="_blank">Wikipedia</a> </body> </html> ### Recherches associées Liens | Site ------------- | ------------- [W3Schools Code](http://www.w3schools.com/tags/tryit.asp?filenam

Champs de formulaire HTML dynamiques avec javascript

Exemple 1: [image:593 size:100 caption:Champs de formulaire HTML dynamiques avec javascript (1/2)] [image:594 size:100 caption:Champs de formulaire HTML dynamiques avec javascript (2/2)] <!DOCTYPE html> <html> <head> <meta charset='UTF-8' /> <script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script> <script language="javascript" type="text/javascript"> $(document).ready(function() { $("#select_01").change(function() { var el = $(this) ; if(el.val()