From: moky <mok...@gm...> - 2009-02-01 14:23:18
|
Bonjour à toutes et à tous Affin de trouver les extrema d'une fonction, je cherche l'annulation de la dérivée. Par exemple pour la fonction sinus : f(x):=sin(x); solve( [diff(f(x),x)=0],[x] ) Ceci me donne correctement la valeur pi/2, mais hélas : `solve' is using arc-trig functions to get a solution.Some solutions will be lost. La solution -pi/2 a été perdue. Or j'aurais bien aimé l'avoir parce qu'elle est un minimum. (évidemment, chercher le mot-clef "maxima" dans la doc, ça n'aide pas beaucoup ;) ) Ce qui m'intéresse est de pouvoir trouver la plus petite et la plus grande valeur atteinte par la fonction entre deux bornes. Bien entendu, je peux y aller à la barbare et lancer une résolution numérique sur 100 points répartis sur tout mon intervalle, voir carrément calculer la fonction en 1000 point (je ne me soucie pas d'une faute de moins de 0.1). Pour le contexte, j'utilise maxima en arrière plan d'un script en python qui le sert à générer du code pstricks pour les dessins que je veux introduire dans mes documents LaTeX. Savoir le minimum et le maximum de la fonction me sert à déterminer la taille de la bounding box de l'image et à faire en sorte que les axes soient assez grands pour accueillir toute la fonction que je trace. Merci bon dimanche Laurent |
From: philippe <phi...@un...> - 2009-02-07 15:26:03
|
Bonjour moky, moky a écrit : > > f(x):=sin(x); > solve( [diff(f(x),x)=0],[x] ) > > Ceci me donne correctement la valeur pi/2, mais hélas : > > `solve' is using arc-trig functions to get a solution.Some solutions > will be lost. > > La solution -pi/2 a été perdue. Or j'aurais bien aimé l'avoir parce > qu'elle est un minimum. désolé mais ça fait parties des limitations de maxima pour l'instant ... > [...] > Savoir le minimum et le maximum de la fonction me sert à déterminer la > taille de la bounding box de l'image et à faire en sorte que les axes > soient assez grands pour accueillir toute la fonction que je trace. je fais le même genre de choses avec scilab au lieu de python (mais ça doit revenir au même) et je n'ai pas d'autre méthode que la méthode "barbare" pour calculer la "bounding box", mais sous scilab c'est de toute façon assez naturel d'évaluer la fonction sur un échantillonage de quelques centaines de points pour la dessiner. bon courrage, Philippe. |