Inscription / Connexion Nouveau Sujet
Niveau seconde
Partager :

Minimum d'une fonction (Algorithme)

Posté par
NeonTrees
08-12-12 à 13:50

Bonjour ! Mon problème est simple, je dois faire un DM pour Lundi, mais je bloque à une question.

Enoncé :
On considère la fonction définie par f(x)=3x²-2x+1 ; on admet que f possède un minimum sur l'intervalle [-1;2] atteint en une unique valeur x0.
1) Que fait l'algorithme ci-dessous ?
Tester cet algorithme à l'aide du logiciel Algobox, ou de la calculatrice.
2) L'adapter pour déterminer une valeur approchée de x0 à 10-n et une valeur approchée de ce minimum.

Où j'en suis :
1) L'algorithme suivant permet de trouver le minimum de la fonction définie par f(x)=3x²-2x+1.
Il y a alors quatre possibilités :

a) Pour x=-1, on a m=6.
Puisque y>m, alors m garde sa valeur.

b) Pour x=0, on a y=f(0)=1.
Puisque y<m, alors m=y=1.

c) Pour x=1, on a y=f(1)=2.
Puisque y>m, alors m garde sa valeur.

d) Pour x=2, on a y=f(2)=5.
Puisque y>m, alors m garde sa valeur.

Donc, le minimum de m sur l'intervalle [-1;2] est atteint pour x=0, soit m=1.

2) Je sèche totalement sur cette question. Je ne l'ai pas comprise du tout.

Merci d'avance pour votre aide !


Minimum d\'une fonction (Algorithme)

Posté par
mathafou Moderateur
re : Minimum d'une fonction (Algorithme) 08-12-12 à 14:20

Bonjour,

tel que défini, en supposant que "pour x de -1 à 2" veuille dire "par pas de 1", cet algorithme détermine une estimation du minimum de f(x)
quel que soit f(x) d'ailleurs, puisque dans l'algorithme même on ne précise pas.
si on lui définit f(x) comme étant celle de l'énoncé, oui ce sera ce minimum là

mais attention que en fait ce n'est pas le minimum de f(x) qu'il trouve !!!!
mais le minimum des valeurs de f(x) pour x une suite d'entiers
si le minimum est obtenu pour disons x = 1/3, il va dire "n'importe quoi" !!
une des deux valeurs pour x = 0 ou x = 1 qui seront toutes deux > au vrai minimum, et laquelle des deux, bein ça dépend (on va pas chercher à savoir, ceci fait effectivement l'objet de la question suivante)

de plus il ne donne pas pour quelle valeur de x il a eu ce minimum !

La question 2 consiste donc à amélioerr cet algorithme autant que possible
- pour améliorer la précision en calculant pour un pas plus fin sur x
- en affichant aussi la valeur de x pour laquelle on a eu ce minimum

une première idée est de calculer "pour x de -1 à 2 par pas de 10-n"
ce qui est très peu efficace car si on cherche par exemple à 10-6 près, on va essayer quelques millions de valeurs "un peu inutiles"
améliorer ça nécessiterait une refonte totale de l'algorithme.
Dans un premier temps on ne va pas se lancer dans une telle réécriture complète, mais juste le pas du "pour" = 10-n au lieu de 1
On sera limité à 10-4 ou 10-5, car au delà le nombre de boucles exécutées devient prohibitif.
Mais peut être est-ce seulement cela qui est demandé ?

Il reste aussi à "mémoriser" la valeur de x qui donne le minimum
c'est à dire une variable x0 qui est mise à la valeur de x dans le "si" d'origine.

Posté par
NeonTrees
Re : Minimum d'une fonction (Algorithme) 08-12-12 à 16:18

J'ai compris pour la question une, merci.
Par rapport à la question deux, j'utilise Algobox, mais je ne sais pas comment modifier le pas de façon à en avoir un de 10-n. J'ai un peu de mal avec le vocabulaire, parce que je suis en seconde, et on commence à peine à comprendre les premières notions de l'algorithme. En plus, il faudra aussi donner une valeur approchée de ce minimum, et c'est là où je bloque.

Posté par
mathafou Moderateur
re : Minimum d'une fonction (Algorithme) 08-12-12 à 16:36

la valeur obtenue sera par principe même une valeur approchée :
cet algorithme ne peut fournir qu'une valeur numérique, donc forcément approchée ici (car ce n'est pas un nombre entier, ni même un nombre "décimal", avec un nombre défini de décimales, ici le nombre de décimales est infini, c'est donc forcément une valeur approchée)

la syntaxe pour "10-n" avec Algobox est indiquée quelque part dans le fichier d'aide : c'est pow(10, -n)

par contre il ne semble pas que Algobox fasse des "pour I de .. a .. par pas de ...
son "Pour" c'est forcément par pas de 1 !

Il faut donc que tu transformes cette boucle "Pour" en boucle "Tant que"

pour I de -1 à 2 (par pas de 1)
... opérations effectuées dans la boucle pour
fin pour

équivaut à :

I prend la valeur -1
tant que I < 2
... mêmes opérations
I prend la valeur I + pas (par exemple I+1, ou I + pow(10,-N))
fin tantque

avec un "pour" l'"incrémentation" de I est automatique
avec un "tant que" c'est à toi de l'écrire explicitement : le I prend la valeur I + pas, mais par contre tu es maitre de la valeur du pas !
de même pour la valeur initiale



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 1742 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 !