Examen de compl´ements d’analyse num´erique Aucun document n’est autoris´e. La dur´ee de l’examen est de 2h
Exercice 1 On n’utilisera pour cet exercice aucune des fonctions pr´eprogramm´ees de scilab.
1) ´Ecrire un programmey =f(x) qui renvoit dansy la valeurx−ex.
2) ´Ecrire un programme [an, bn] =dichotomie(a, b, n) qui retourne les bornes an et bn dun-i`eme intervalle obtenu par dichotomie `a partir de l’intervalle [a, b]. On utilisera la fonctionf d´efinie `a la question pr´ec´edente.
3) Donner la complexit´e de la fonction dichotomie (nombre d’op´erations en fonction den). On justifiera.
Exercice 2 On n’utilisera pour cet exercice aucune des fonctions pr´eprogramm´ees de scilab.
1) ´Ecrire un programmeva=verif ication(A, n) qui renvoie la valeur 1 si la matrice A est triangulaire inf´erieure et 0 sinon.
2) ´Ecrire un programmex=substitution(A, y, n) qui renvoie la solution deAx=y dans le cas o`u A est triangulaire inf´erieure (attention cela n’est pas la fin de la m´ethode du pivot pour laquelleAserait triangulaire sup´erieure).
3) Donner la complexit´e des programmes ´ecrits aux questions 1 et 2, en justifiant.
Exercice 3 On n’utilisera pour cet exercice aucune des fonctions pr´eprogramm´ees de scilab `a l’exception de la fonction racine carr´eesqrt.
On d´esire impl´ementer la m´ethode de calcul d’int´egrales suivante pour des fonctions positives
Z 1
0
f(x)dx∼ 1 n
n
X
i=1
pf(i/n)×f((i−1)/n).
On suppose que les valeursf(i/n) pouride 0 `ansont rentr´ees dans un vecteurf i (de taille n+ 1 donc) ; cela signifie que f(i.n) est rentr´ee dans la coordonn´eei+ 1 def i.
1) Ecrire un programmeva=positif(f i, n) qui renvoie 1 si toutes les composantes du vecteurf ide taille n+ 1 sont positives.
2) Ecrire un programme m=integrale(f i, n) qui calcule une valeur approch´ee de R1
0 f(x)dx`a l’aide de la m´ethode d´ecrite plus haut.
3) Donner la complexit´e des deux programmes, en justifiant.
Exercice 4 On n’utilisera pour cet exercice aucune des fonctions pr´eprogramm´ees de scilab `a l’exception de la valeur absolue abs. On veut trouver num´eriquement une solution `a l’´equation
x0(t) =|x|, x(0) = 1.
1) Programmer une fonction un = eulerexplicite(n) qui renvoie la valeur de la n-i`eme it´er´eeunpar la m´ethode d’Euler explicite donn´ee par
n(uk+1−uk) =|uk|, u0= 1.
2) Ecrire un programmeun=eulerimplicite(n) qui renvoie la valeur de lan-i`eme it´er´ee par la m´ethode d’Euler implicite.
1