Algorithmes pour l'Analyse Numérique

 

Table des matières cliquable

  1. Nombre de diagonales

  2. Sommes des entiers et de leurs puissances

  3. Interpolation de Lagrange

  4. Intégrale de Riemann

  5. Affichage de polynomes, de leur dérivée et de leur primitive

  6. Polynomes de Bernstein

  7. Résolution de f(x)=0

  8. Valeur propres d'une matrice symétrique

  9. Matrices de Heisenberg

10. Calcul de Pi

 

1. Nombre de diagonales

Combien de diagonales $d$ y a-t-il dans un polygone convexe régulier de $n$ cotés où $n>0$ ?

On nommera $\mathtt{nbCotes}$ et $\mathtt{nbDiag}$ les variables algorithmiques associées.

Cliquez et recliquez  ici  pour avoir des exemples de valeur de $n$ et $d$.

          $n$ =     $d$ =  

2. Sommes des entiers et de leurs puissances

On se propose d'écrire ici pluieurs algorithmes qui calculent la somme $s$ des $n$ premiers entiers puis de généraliser à la somme $S_{n,p}$ de la puissance $p$-ième des $n$ premiers entiers.

2.1 Implémenter le calcul de $s$ à l'aide d'une boucle pour. On nommera $\mathtt{nbVal}$ et $\mathtt{somme}$ les variables algorithmiques associées.

2.2 Trouver la formule polynomiale en $n$ qui donne le calcul de $s$. Ecrire l'algorithme associé.

2.3 Inventer une fonction récursive pour calculer $s$ puis écrire l'algorithme qui définit cette fonction et réalise son appel.

2.4 Laquelle ou lesquelles de ces solutions se généralisent le plus facilement pour calculer $S_{n,p}$ ?

2.5 Laquelle est la plus efficace, en termes de rapidité, d'encombrement mémoire ?

Voici les premières valeurs de $S_{n,p}$ à titre d'exemple :

 p =  1 :  np =  1              2             3             4             5             6             7             8             9            10   ;  s =                55
 p =  2 :  np =  1              4             9            16            25            36            49            64            81           100   ;  s =               385
 p =  3 :  np =  1              8            27            64           125           216           343           512           729          1000   ;  s =              3025
 p =  4 :  np =  1             16            81           256           625          1296          2401          4096          6561         10000   ;  s =             25333
 p =  5 :  np =  1             32           243          1024          3125          7776         16807         32768         59049        100000   ;  s =            220825
 p =  6 :  np =  1             64           729          4096         15625         46656        117649        262144        531441       1000000   ;  s =           1978405
 p =  7 :  np =  1            128          2187         16384         78125        279936        823543       2097152       4782969      10000000   ;  s =          18080425
 p =  8 :  np =  1            256          6561         65536        390625       1679616       5764801      16777216      43046721     100000000   ;  s =         167731333
 p =  9 :  np =  1            512         19683        262144       1953125      10077696      40353607     134217728     387420489    1000000000   ;  s =        1574304985
 p = 10 :  np =  1           1024         59049       1048576       9765625      60466176     282475249    1073741824    3486784401   10000000000   ;  s =       14914341925

3. Interpolation de Lagrange

L'interpolation polynomiale de $n$ points $(x_i,y_i)$, pour $i$ de 1 à $n$ consiste à trouver un polynome de degré minimal qui passe par ces points. La méthode de $\textbf{Lagrange}$ consiste à chercher le polynome solution $P$ -- ou plutot la fonction poynomiale définie en $x$ par $P(x)$ sous la forme

               $P(x)=\displaystyle \sum_{i=1}^n\ y_i\times L_i(x)$

où $L_i(x)$ vaut 1 pour $x=x_i$ et 0 pour $x=x_j$ avec $j\neq i$.

Si on prend par exemple les points $(3,28)$, $(4,40)$ et $(5,54)$, $L_1(x)$ peut être construit par

               $L_1(x)=\displaystyle \frac{(x-4)}{(3-4)}\times\frac{(x-5)}{(3-5)}$

L'expression mathématique globale pour $P(x)$ est donc

               $P(x)=\displaystyle \sum_{i=1}^n\ y_i\ \times\ \left(\ \displaystyle\prod_{j=1,n;j\neq i}^n \frac{(x-x_j)}{(x_i-x_j)}\ \right)$

On suppose donnés $n$ et les $n$ points $(x_i,y_i)$, pour $i$ de 1 à $n$. Ecrire un algorithme qui affiche les valeurs du polynome de Lagrange de ces $n$ points pour $x$ de $a$ à $b$ en progression arithmétique de pas $h$. On nommera les variables algorithmiques selon le tableau suivant :

Mathématique Algorithmique
   $n$    $\mathtt{nbPoints}$
   $x_i$    $\mathtt{xpoint[i]}$
   $y_i$    $\mathtt{ypoint[i]}$
   $a$    $\mathtt{valA}$
   $b$    $\mathtt{valB}$
   $h$    $\mathtt{pasH}$

Cliquez et recliquez  ici  pour avoir des exemples de tels calculs.

          $n$ =     $x_i$ =     $y_i$ =     $a$ =     $b$ =     $h$ =  

4. Intégrale de Riemann

5. Affichage de polynomes, de leur dérivée et de leur primitive

6. Polynomes de Bernstein

7. Résolution de f(x)=0

8. Valeur propres d'une matrice symétrique

9. Matrices de Heisenberg

10. Calcul de Pi

 

 

   retour gH    Retour à la page principale de   (gH)