Inscription / Connexion Nouveau Sujet
Niveau première
Partager :

Résoudre une équation par dichotomie

Posté par
Minniglace
13-11-17 à 19:35

Bonsoir à vous! Je sollicite votre aide pour un DM parlant de dichotomie, une notion que je n'ai pas encore vu.
Je vous ai mis en vert ce dont je suis sûre,  en bleu ce dont je ne suis pas sûre et en rouge là où je n'y arrive pas.
Je vous présente le sujet:
  

La fonction f est définie sur [0;+infini[ par f(x)= (x3 +x2 -2x-3)/(x+1)

1.Déterminer les réels a et b tels que, pour tout x de [0;+infini[, on ait:
                                                  
                                      f(x)=x2 + a + b /(x+1)

Ça, c'est bon, j'ai trouvé a = -2 et b =-1

2. Soit u et v les fonctions définies sur [0;+infini[ par:
                          
                           u (x)= x2               v (x)=-2-1/(x+1)

a. Déterminer le sens de variation de u et v sur cet intervalle.

Pour u , la fonction est croissante car c'est une fonction carrée et que dans cet intervalle, elle est croissante.
Pour v , la fonction est aussi croissante sur cet intervalle.


b.En déduire le sens de variation de la fonction f sur cet intervalle

Là, j'avoue ne pas savoir comment faire pour argumenter. J'ai écrit que f est croissante sur cet intervalle car cette fonction est l'addition des fonctions u et v et que les 2 sont croissantes comme vu avant.

c.Calculer f(1) et f(2)

f(1)= (13 + 12 -2*1-3)/(1+1)
        = (1+1-2-3)/2
        =-3/2

f(2)= (23 + 22 -2*2-3)/(2+1)
        =(8+4-4-3)/3
        =5/3


En déduire que sur [0;+infini[, l'équation f(x)=0 admet une unique solution i et que cette solution appartient à l'intervalle [1;2]

Sachant que sur l'intervalle [0;+infini[ f est croissante, et donc monotone, f et également croissante sur l'intervalle [1;2]. De plus, pour f(1), on a une image négative et que pour f(2), l'image est positive. La fonction passe donc bien par 0 et n'admet qu'une solution qui appartient à l'intervalle [1;2]


Jusque ici, tout va à peu près bien, c'est après que ça se corse.

Je vous mets une image des énoncés pour faciliter la compréhension:

** image supprimée ** conformément à Sujet ancien- ne plus donner ce lien-merci

Toute cette partie, je ne sais pas comment m'y prendre. Notre professeur nous a conseillé de faire le programme sur EduPython, malheureusement je n'y connais pas encore grand chose dessus.
De plus, je ne comprends pas la question b.

J'aimerai donc que vous m'aidiez à créer ce programme et pour le b. ,le reste je pense qu'une fois le programme fait, cela sera beaucoup plus simple!

Je vous remercie de votre aide!

Posté par
Minniglace
re : Résoudre une équation par dichotomie 13-11-17 à 20:09

Veuillez m'excusez pour l'image!

L'énoncé était le suivant:

3.On considère l'algorithme suivant:

Entrée: Introduire un nombre entier naturel n
                            
Initialisation: Affecter à la variable N la valeur n
                                            Affecter à la variable a la valeur 1
                                            Affecter à la variable b la valeur 2

Traitement: Tant que b - a > 10N
                                          Affecter à la variable m la valeur (a+b)/2
                                          Affecter à la variable P le produit f(a)*f(m)
                                          Si P > 0 affecter à la variable a la valeur m
                                          Si P < ou égale à 0 affecter à la variable b la valeur m

Sortie: Afficher a
                             Afficher b

a.On fait fonctionner cet algorithme pour n = 2

Je dois donc reproduire se programme mais comme dit avant, je ne sais pas comment m'y prendre.
Encore désolée pour le post de l'image

Posté par
alb12
re : Résoudre une équation par dichotomie 13-11-17 à 20:20

salut,
2/b/ oui

Posté par
Minniglace
re : Résoudre une équation par dichotomie 13-11-17 à 20:23

Merci beaucoup!

Posté par
mathafou Moderateur
re : Résoudre une équation par dichotomie 13-11-17 à 21:12

Bonjour,

Pour l'algo

soit tu cherches à traduire mot à mot l'algorithme fourni avec des outils obsolètes (par exemple Algobox, dans lequel c'est du simple "mot à clic" pour le traduire)

soit tu cherches à être plus cohérent que ton prof en posant un tel énoncé obsolète
l'énoncé est incohérent à partir du moment ou il suggère de le faire avec EduPython
alors qu'il y a dedans des opérations obsolètes (introduire, afficher, déclarations "ringardes" etc)

le conseil de EduPython est une excellente occasion de se mettre à la page et d'utiliser Python pour faire ça
(même si c'est un logiciel à installer, ça vaudra le coup)

d'abord ça ne mord pas (ni Algobox, ni Python ni aucun logiciel)
et on trouve facilement des tutoriels sur Python en ligne, ou l'aide incluse dans EduPython

donc ici il va s'agir de rédiger une fonction

def ma_dichotomie(n)
...
return a,b

en écrivant au milieu ce qui est décrit comme opérations dans l'algorithme fourni

essaies et lances toi (encore une fois ça ne mord pas)

Posté par
mathafou Moderateur
re : Résoudre une équation par dichotomie 13-11-17 à 21:23

Citation :
a.On fait fonctionner cet algorithme pour n = 2

cela peut se faire aussi à la main
vu que 2^7 = 128 > 100 (n = 2)
il y aura 7 boucles environ à exécuter
c'est à dire 7 lignes d'un tableau qui donne les valeurs successives des variables utilisées :

                        a       b       m      f(a)     f(m)    P
1ère boucle             1       2       1.5    -1.5     -0.15   > 0  donc a devient 1.5
2ème boucle             1.5     2       1.75    ...
...

Posté par
mathafou Moderateur
re : Résoudre une équation par dichotomie 13-11-17 à 21:42

edit :
en fait EduPython n'est pas du vrai Python
cela ressemble à du Python, inclut Python, a la syntaxe de Python mais n'est pas conforme aux "nouvelles directives" supprimant entre autres les entrées sorties de tous les algorithmes.
du coup on n'a même pas besoin de faire ça par la définition d'une fonction comme j'ai dit.

et donc du coup on rate l'intérêt de la chose :
cela devient une espèce d'Algobox où on est obligé de taper tout son code au lieu de simplement cliquer et de remplir des boites de dialogue.

cela n'empêche : bonne occasion d'appendre la syntaxe de base de Python.

Posté par
alb12
re : Résoudre une équation par dichotomie 13-11-17 à 22:08

le prof n'a pas encore fait le stage python
en premiere la methode peut passer.
Je le donne comme preconise en seconde:


def f(x):
        return (x**3+x**2-2*x-3)/(x+1)
    
def EncadrerSolution(n):
        N=n # inutile
        a=1.0
        b=2.0
        while b-a>10**(-n):
            m=(a+b)/2
            P=f(a)*f(m)
            if P>0:
                a=m
            else:
                b=m
        return a,b
        
EncadrerSolution(2)

Posté par
Minniglace
re : Résoudre une équation par dichotomie 13-11-17 à 22:18

Merci de votre réponse.
°Notre professeur nous a simplement conseillé d'utiliser EduPython, mais l'énoncé nous dis que nous pouvons également programmer sur la calculatrice.
Je ne sais plus où donner de la tête.

°Pour la 2nd étape, je trouve:
a                        b               m                   P
1.5                   2               1.75            <0  donc b deviendrait 1.75?
Dans mon énoncé, on nous donne les étapes de 3 à 4 de manière complète. Pour l'étape 3 on nous indique:
a                            b           m                   P
1.5                  1.625     1.625          -0.038950...

Je suis désolée je n'y comprends plus rien

Posté par
alb12
re : Résoudre une équation par dichotomie 13-11-17 à 22:21

tu fais tout à la main avec la calculatrice pour trouver les images.

Posté par
mathafou Moderateur
re : Résoudre une équation par dichotomie 13-11-17 à 22:40

et sur EduPython "suggéré" dans cet énoncé :

from lycee import *
def f(x) :
return (x**3+x**2-2*x-3)/(x+1)

n = demande("précision")
a=1.0
b=2.0
while b-a>10**(-n):
m=(a+b)/2
P=f(a)*f(m)
if P>0:
a=m
else:
b=m
print(a,b)

le retour des entrés sorties, conformément à la demande de l'énoncé tel qu'il est (et pas tel que certains voudraient qu'il soit)

vu qu'elles ont toujours existé et existeront toujours, ce n'est pas un problème de Python c'est un problème de caciques

nota : en Python pur, c'est à dire sans le "from lycee", l'entrée de n peut se faire par
n = int(input("précision")) ce qui est assez ésotérique

Posté par
mathafou Moderateur
re : Résoudre une équation par dichotomie 13-11-17 à 22:54

le temps d'installer EduPython la discussion a évolué ...

si tu ne souhaites pas pour l'instant programmer quoi que ce soit mais juste remplir le tableau (avais tu seulement dit au départ ici qu'il y avait un bout de tableau dans l'énoncé ? non !)
il te suffit de respecter scrupuleusement chaque étape de l'algorithme.

1.5 2 1.75 <0 donc b deviendrait 1.75?
bein oui ! c'est bien ce que dit de faire l'algo si P < 0 non ?

le numérotage des étapes n'est peut être pas le même dans le tableau que j'ai commencé et dans celui de l'énoncé :

et on revient sur un énoncé incomplet !

et comme dit alb12, les calculs numériques intermédiaires des valeurs de f(m) se font à la calculette (et de m = (a+b)/2 .. pour éviter des erreurs bêtes )
la valeur numérique de P n'a aucune importance, seul son signe compte (appliquer de tête la règle des signes)

Posté par
Minniglace
re : Résoudre une équation par dichotomie 13-11-17 à 22:57

Merci! Je retrouve bien la fin de mon tableau!
J'ai des amis qui m'ont expliqué et je pense avoir compris! Je vous remercie d'avoir pris de votre temps pour moi!

Je vous souhaite une excellente soirée!

Posté par
Minniglace
re : Résoudre une équation par dichotomie 13-11-17 à 23:00

Je m'excuse pour vous avoir donné des énoncés incomplets, je suis très tête en l'air et je n'ai pris du tout mon temps. Veuillez m'excuser pour tout ça et encore merci!

Posté par
alb12
re : Résoudre une équation par dichotomie 14-11-17 à 15:32

je dirais 3 choses:
1/ d'abord faire plusieurs dichotomie à la main
2/ ecrire un algorithme
3/ le programmer en langage xxx

il est difficile d'imaginer ecrire le programme sans au prealable avoir code en xxx avec le professeur.



Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Inscription gratuite

Fiches en rapport

parmi 1675 fiches de maths

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !