Calcul numérique d intégrale [nr03] - Exercice

Documents pareils
alg - Classes, instances, objets [oo] Exercices résolus

Continuité et dérivabilité d une fonction

C++ - Classes, instances, objets [oo] Exercices résolus

Méthodes de quadrature. Polytech Paris-UPMC. - p. 1/48

Mathématiques I Section Architecture, EPFL

FONCTIONS DE PLUSIEURS VARIABLES (Outils Mathématiques 4)

Image d un intervalle par une fonction continue

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

Développements limités. Notion de développement limité

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

Corrigé des TD 1 à 5

Activités numériques [13 Points]

Fonctions de deux variables. Mai 2011

Exercice 6 Associer chaque expression de gauche à sa forme réduite (à droite) :

Dérivation : cours. Dérivation dans R

Développements limités, équivalents et calculs de limites

Chapitre 2 Le problème de l unicité des solutions

Les algorithmes de base du graphisme

Chapitre 11. Séries de Fourier. Nous supposons connues les formules donnant les coefficients de Fourier d une fonction 2 - périodique :

Limites finies en un point

Continuité en un point

Dérivation : Résumé de cours et méthodes

C f tracée ci- contre est la représentation graphique d une

Rappels Entrées -Sorties

8.1 Généralités sur les fonctions de plusieurs variables réelles. f : R 2 R (x, y) 1 x 2 y 2

Programmation Objet II

Initiation à l algorithmique

Cours d algorithmique pour la classe de 2nde

Axiomatique de N, construction de Z

1 Recherche en table par balayage

Chapitre 6. Fonction réelle d une variable réelle

La fonction exponentielle

Fonctions de plusieurs variables

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.

Chapitre 3. Quelques fonctions usuelles. 1 Fonctions logarithme et exponentielle. 1.1 La fonction logarithme

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Statistiques Descriptives à une dimension

Maple: premiers calculs et premières applications

Mesure d angles et trigonométrie

Comparaison de fonctions Développements limités. Chapitre 10

CCP PSI Mathématiques 1 : un corrigé

Exo7. Limites de fonctions. 1 Théorie. 2 Calculs

Équations non linéaires

CHAPITRE 10. Jacobien, changement de coordonnées.

L ALGORITHMIQUE. Algorithme

Nombre dérivé et tangente

Exercices sur les interfaces

Baccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé

Rappels sur les suites - Algorithme

Notion de fonction. Série 1 : Tableaux de données. Série 2 : Graphiques. Série 3 : Formules. Série 4 : Synthèse

DÉRIVÉES. I Nombre dérivé - Tangente. Exercice 01 (voir réponses et correction) ( voir animation )

Université Paris-Dauphine DUMI2E 1ère année, Applications

Algorithmique et Programmation Fonctionnelle

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT

Raisonnement par récurrence Suites numériques

Découverte de Python

OM 1 Outils mathématiques : fonction de plusieurs variables

ANALYSE GÉNÉRALE - PROPOSITION DE CORRIGÉ. Exercice 1

Objets et Programmation. origine des langages orientés-objet

Les suites numériques

Logique. Plan du chapitre

MATLAB : COMMANDES DE BASE. Note : lorsqu applicable, l équivalent en langage C est indiqué entre les délimiteurs /* */.

introduction Chapitre 5 Récursivité Exemples mathématiques Fonction factorielle ø est un arbre (vide) Images récursives

1 radian. De même, la longueur d un arc de cercle de rayon R et dont l angle au centre a pour mesure α radians est α R. R AB =R.

Durée de L épreuve : 2 heures. Barème : Exercice n 4 : 1 ) 1 point 2 ) 2 points 3 ) 1 point

Exprimer ce coefficient de proportionnalité sous forme de pourcentage : 3,5 %

Maintenabilité d un parc applicatif

EXERCICES - ANALYSE GÉNÉRALE

Chapitre V. Les classes : Object, Vector, etc.

Découverte du tableur CellSheet

Chapitre 10. Les interfaces Comparable et Comparator 1

Bac Blanc Terminale ES - Février 2011 Épreuve de Mathématiques (durée 3 heures)

Les structures de données. Rajae El Ouazzani

DURÉE DU JOUR EN FONCTION DE LA DATE ET DE LA LATITUDE

Traceur de courbes planes

L exclusion mutuelle distribuée

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40

Baccalauréat ES/L Métropole La Réunion 13 septembre 2013 Corrigé

Enoncé et corrigé du brevet des collèges dans les académies d Aix- Marseille, Montpellier, Nice Corse et Toulouse en Énoncé.

= constante et cette constante est a.

Atelier C TIA Portal CTIA04 : Programmation des automates S7-300 Opérations numériques

n N = u N u N+1 1 u pour u 1. f ( uv 1) v N+1 v N v t

Licence Sciences et Technologies Examen janvier 2010

Chapitre III : Fonctions réelles à une variable réelle. Notion de Limite (ses variantes) et Théorèmes d'analyse

Utiliser des fonctions complexes

G.P. DNS02 Septembre Réfraction...1 I.Préliminaires...1 II.Première partie...1 III.Deuxième partie...3. Réfraction

Résolution d équations non linéaires

ALGORITHMIQUE ET PROGRAMMATION En C

MESURE ET PRECISION. Il est clair que si le voltmètre mesure bien la tension U aux bornes de R, l ampèremètre, lui, mesure. R mes. mes. .

Fonctions homographiques

Cours d Analyse. Fonctions de plusieurs variables

Soit la fonction affine qui, pour représentant le nombre de mois écoulés, renvoie la somme économisée.

DOCM Solutions officielles = n 2 10.

Algorithme. Table des matières

Angles orientés et trigonométrie

Séquence 8. Fonctions numériques Convexité. Sommaire

I - PUISSANCE D UN POINT PAR RAPPORT A UN CERCLE CERCLES ORTHOGONAUX POLES ET POLAIRES

Cryptographie RSA. Introduction Opérations Attaques. Cryptographie RSA NGUYEN Tuong Lan - LIU Yi 1

Algorithmique et structures de données I

Fonctions de plusieurs variables et applications pour l ingénieur

Transcription:

Calcul numérique d intégrale [nr03] - Exercice Karine Zampieri, Stéphane Rivière, Béatrice Amerein-Soltner Unisciel algoprog Version 21 janvier 2017 Table des matières 1 Calcul numérique d intégrale / pgintegr 2 1.1 Intégration numérique............................ 2 1.2 Méthodes des rectangles et trapèzes..................... 3 1.3 Méthode de Simpson............................. 5 1.4 Convergence des méthodes.......................... 7 alg - Calcul numérique d intégrale (TD) Mots-Clés Numérique Requis Structures de base, Algorithmes paramétrés, Structures répétitives, Schéma itératif Difficulté (2 h 30) Objectif Cet exercice étudie quelques méthodes d approximation classiques d intégrales (méthode des rectangles, méthode des trapèzes, méthode de Simpson) et compare la vitesse de convergence de la méthode des trapèzes et de Simpson. 1

Unisciel algoprog Calcul numérique d intégrale[nr03] 2 1 Calcul numérique d intégrale / pgintegr 1.1 Intégration numérique L intégrale a f d une fonction f peut être vue comme l aire (algébrique) de la partie du plan entre a et b comprise entre l axe des abscisses et la courbe de f. On approxime le calcul de cette surface en divisant l intervalle [a, b] en n sous-intervalles [x j, x j+1 ] de même longueur h = (b a)/n (donc x j = a + j h) et en approximant l intégrale x j+1 x j f par une surface δ(j). L intégrale de la fonction est alors : a f = δ(j) Soit le type Fonction comme étant (un pointeur d )une fonction ayant un paramètre de réel et retournant un réel. Écrivez une fonction integraleexacte(f,a,b) qui calcule et renvoie l intégrale exacte en utilisant la Fonction primitive F de f : a f = F (b) F (a) Écrivez une fonction f(x) qui servira de test (calculez et retournez le cosinus de x par exemple) ainsi qu une fonction primf(x) qui calcule et renvoie une primitive exacte F de f (la primitive du cosinus est le sinus). Outil alg Le cosinus s écrit Cos(x) et le sinus Sin(x). Écrivez une procédure saisirlimites(a,b) qui saisit des limites d intégration dans a (réel) et dans b (réel) en s assurant que a<b. Affichez l invite : Limites d'intégration? Écrivez une procédure saisirintervalles(n) qui saisit un nombre d intervalles dans n (entier), pour faire les calculs approchés, en s assurant que n 1. Affichez l invite : Nombre d'intervalles?

Unisciel algoprog Calcul numérique d intégrale[nr03] 3 Écrivez une procédure test_exacte qui saisit les limites d intégration dans a (réel) et dans b (réel) puis calcule et affiche l intégrale exacte. 1.2 Méthodes des rectangles et trapèzes Les méthodes des rectangles et des trapèzes approxime l aire δ(i) de la fonction dans l intervalle [x j, x j+1 ] par : le rectangle gauche s appuyant sur f en x j, soit δ(j) = f(x j ) h le rectangle droit s appuyant sur f en x j+1, soit δ(j) = f(x j+1 ) h le trapèze s appuyant sur f en x j et x j+1, soit δ(j) = 1 2 (f(x j + f(x j+1 )) h Les sommes correspondantes donnent le calcul approché de l intégrale. Écrivez une fonction integralerectangleg(f,a,b,n) qui calcule et renvoie l intégrale approchée de la Fonction f en subdivisant un intervalle de réels [a,b] en n sousintervalles et en approximant l aire par les rectangles gauches. a f = δ(j) = h f(x j ) = h f(a + j h) Écrivez une fonction integralerectangled(f,a,b,n) qui calcule et renvoie l intégrale approchée de la Fonction f en subdivisant un intervalle de réels [a,b] en n sousintervalles et en approximant l aire par les rectangles droits. a f = δ(j) = h n f(x j+1 ) = h f(a + j h) j=1

Unisciel algoprog Calcul numérique d intégrale[nr03] 4 Écrivez une fonction integraletrapeze(f,a,b,n) qui calcule et renvoie l intégrale approchée de la Fonction f en subdivisant un intervalle de réels [a,b] en n sous-intervalles et en approximant l aire par les trapèzes. a f = 1 δ(j) = h = h 1 2 f(x 0) + j=1 2 (f(x j + f(x j+1 )) f(x j ) + 1 2 f(x n) = h 1 n 1 2 f(a) + f(a + j h) + 1 2 f(b) j=1 Écrivez une procédure affichercalculs(a,b,n) qui affiche les résultats des trois méthodes en subdivisant un intervalle de réels [a,b] en j sous-intervalles variant de 2 à n. Affichez aussi la valeur exacte de l intégrale comme dans l extrait d exécution suivant. Limites d'intégration? -0.1 0.7 Nombre d'intervalles? 20 ==> 2 sous-intervalles Rectangle Gauche : 0.7801362618 Rectangle Droit : 0.6880714706 Trapeze : 0.7341038662 ==> 3 sous-intervalles Rectangle Gauche : 0.7703249413 Rectangle Droit : 0.7089484139 Trapeze : 0.7396366776... ==> 20 sous-intervalles Rectangle Gauche : 0.748555134 Rectangle Droit : 0.7393486549 Trapeze : 0.7439518944 ==> Calcul exact Integrale exacte : 0.7440511038

Unisciel algoprog Calcul numérique d intégrale[nr03] 5 Écrivez une procédure test_rectrapezes saisit les limites d intégration et le nombre d intervalles puis affiche les résultats des calculs correspondants. Quelle semble être la meilleure des trois méthodes? Pourquoi? 1.3 Méthode de Simpson La méthode de Simpson approxime la fonction f dans un sous-intervalle par une parabole. La formule est la suivante : f = h f(a) + f(b) + 2 f(x j ) + 4 f(x j + h/2) a 6 j=1 Notez que f est aussi calculée aux points milieux des intervalles dans cette méthode. Écrivez une fonction integralesimpson(f,a,b,n) qui calcule et renvoie l intégrale approchée de la Fonction f en subdivisant un intervalle de réels [a,b] en n sous-intervalles et en approximant l aire par la méthode de Simpson.

Unisciel algoprog Calcul numérique d intégrale[nr03] 6 Écrivez une procédure affichercalculs2(a,b,n) qui affiche les résultats de la méthode des trapèzes et de la méthode de Simpson en subdivisant un intervalle de réels [a,b] en j sous-intervalles variant de 2 à n, et en passant en paramètre à la méthode des trapèzes le double du nombre d intervalles pour que la comparaison soit juste. Affichez aussi la valeur exacte de l intégrale comme dans l extrait d exécution suivant. Limites d'intégration? -0.2 0.5 Nombre d'intervalles? 20 ==> 2*2 sous-intervalles Trapeze : 0.6763634308 Simpson : 0.6780984155 ==> 3*2 sous-intervalles Trapeze : 0.6773255595 Simpson : 0.6780955684... ==> 20*2 sous-intervalles Trapeze : 0.6780775638 Simpson : 0.6780948698 Exacte : 0.6780948694 Écrivez une procédure test_simpson qui saisit les limites d intégration et le nombre d intervalles puis affiche les résultats des calculs correspondants.

Unisciel algoprog Calcul numérique d intégrale[nr03] 7 1.4 Convergence des méthodes Ce problème compare la vitesse de convergence de la méthode des trapèzes et de Simpson. Pour chaque méthode, on veut calculer la valeur à ε près et connaître le nombre d itérations correspondant, c.-à-d. on veut calculer n et int(a, b, n) tel que = int(a, b, n) int(a, b, n 1) < ε où int désigne l intégrale par la méthode des trapèzes ou la méthode de Simpson. Écrivez une fonction niterstrapeze(a,b,epsilon,integr) qui calcule et restitue dans integr (réel) la valeur de l intégrale approchée avec la méthode des trapèzes en subdivisant un intervalle de réels [a,b] en n sous-intervalles de sorte que < epsilon. La fonction renvoie le nombre d intervalles n calculé. Écrivez une procédure afficherintervallest(a,b,n) qui affiche les valeurs des intégrales et du nombre d intervalles correspondants pour des précisions ε = ε 0 ( 1 2) n avec ε 0 = 0.1 pour la méthode des trapèzes comme dans l extrait d exécution suivant. Limites d'intégration? -0.3 0.7 Nombre d'itérations? 20 ==> Trapeze : 0.920077958 en 2 intervalles (0.1) ==> Trapeze : 0.9310204609 en 3 intervalles (0.05) ==> Trapeze : 0.9310204609 en 3 intervalles (0.025)... ==> Trapeze : 0.9397292167 en 95 intervalles (0.0000001907) ==> Exacte : 0.9397378939 Écrivez une procédure test_cvtrapeze saisit les limites d intégration et le nombre d itérations pour les précisions de ε puis affiche les résultats des calculs correspondants.

Unisciel algoprog Calcul numérique d intégrale[nr03] 8 Copiez/Collez la fonction niterstrapeze en la fonction niterssimpson(a,b,epsilon,integr) qui calcule integr (réel) et renvoie le nombre d intervalles n tel que integr est la valeur de l intégrale approchée avec la méthode de Simpson en subdivisant un intervalle [a,b] en n sous-intervalles de sorte que < epsilon. Attention, renvoyez deux fois le nombre d intervalles car cette méthode calcule aussi les points milieu. Copiez/Collez la procédure afficherintervallest en la procédure afficherintervalless(a,b,n) qui affiche les valeurs des intégrales et du nombre d intervalles correspondants pour des précisions ε = ε 0 ( 1 2) n avec ε0 = 0.1 pour la méthode de Simpson comme dans l extrait d exécution suivant. Limites d'intégration? -0.3 0.7 Nombre d'itérations? 20 ==> Simpson : 0.9397584403 en 4 intervalles (0.1) ==> Simpson : 0.9397584403 en 4 intervalles (0.05)... ==> Simpson : 0.9397380299 en 14 intervalles (0.0000001907) ==> Exacte : 0.9397378939 Écrivez une procédure test_cvsimpson saisit les limites d intégration et le nombre d itérations pour les précisions de ε puis affiche les résultats des calculs correspondants.

Unisciel algoprog Calcul numérique d intégrale[nr03] 9 Copiez/Collez la procédure afficherintervallest en la procédure afficherintervalles(a,b,n). Modifiez-la de sorte qu elle affiche les valeurs des intégrales et du nombre d intervalles correspondants pour des précisions ε = ε 0 ( 1 2) n avec ε 0 = 0.1 pour les méthodes des trapèzes et de Simpson comme dans l extrait d exécution suivant. Limites d'intégration? -0.3 0.7 Nombre d'itérations? 20 ==> precision : 0.1 Trapeze : 0.920077958 en 2 intervalles Simpson : 0.9397584403 en 4 intervalles ==> precision : 0.05 Trapeze : 0.9310204609 en 3 intervalles Simpson : 0.9397584403 en 4 intervalles... ==> precision : 0.0000001907 Trapeze : 0.9397292167 en 95 intervalles Simpson : 0.9397380299 en 14 intervalles Exacte : 0.9397378939 Écrivez une procédure test_convergence qui saisit les limites d intégration et le nombre d itérations pour les précisions de ε puis affiche les résultats des calculs correspondants.

Unisciel algoprog Calcul numérique d intégrale[nr03] 10