Accueil › Forums › Programmation WIMS › Programmation d’exercices OEF › problème avec l’utilisation de l’instruction « solve » par wims
- Ce sujet contient 3 réponses, 2 participants et a été mis à jour pour la dernière fois par bernadette, le il y a 13 années et 3 mois.
-
AuteurMessages
-
-
7 septembre 2011 à 10:00 #891sylvainParticipant::
Bonjour,
Je suis confronté à un problème avec l'utilisation dans wims de la fonction « solve » de maxima.
Je veux déterminer le point critique m d'une fonction f (dépendant du paramètre h2) en calculant sa dérivée dotf, ce que j'ai programmé de la façon suivante
real{h2 = random(2..9)}
function{ f=x^2-h2*x}
function{ dotf=diff(f,x)}
real{m =maxima(solve(dotf,x))}
real{sol = evalue(f,x = m) }
statement{calculer le minimum la fonction définie par
(f(x) = f)
dérivée : dotf m= m}…
Mon problème : le minimiseur m vaut toujours 0, alors que f(x)=x(x-h2)
Pourtant, dotf est bien calculée (je l'ai affichée dans statement pour être sûr), et quand je teste l'instruction « solve(dotf,x) » dans le testeur de script, la bonne solution est trouvée pour m, ce qui signifie que cette instruction est correctement écrite.
Je précise : la fonction f que j'utiliserai au final sera plus complexe qu'une parabole, ce qui m'empêchera de calculer directement son point critique comme je pourrais le faire avec x(x-h2)
j'espère que vous pourrez voir d'où vient le problème
merci d'avance
Sylvain
-
7 septembre 2011 à 15:32 #892bernadetteMaître des clés::
Il y a incompatibilité entre la fonction solve de wims et solve de maxima.
Pour dire que c'est la fonction solve de maxima, il faut écrire
text{m =maxima(solve(dotf,x))}
(je précise solve backslash ( au cas où l'éditeur en mangerait une partie) ou mettre SOLVE en majuscules
Mais la réponse est « x= la solution »
J'ai essayé text{s=evalue(f,m)}
mais cela ne semble pas marcher ?!
On peut le traiter avec maxima :
text{a=maxima(solve(2*x+1,x))}
text{b= maxima(ev(x,a);)}ou
text{a1=maxima(SOLVE(2*x+1,x))}
text{b1= maxima(ev(x,a);)}statement{a=a , b=b , a=a1, b=b1}
Faites attention qu'il y ait bien une solution, car la réponse sera vide et s'il y en a plusieurs il faut les traiter toutes.
Bernadette
-
8 septembre 2011 à 10:30 #893sylvainParticipant
-
8 septembre 2011 à 23:09 #894bernadetteMaître des clés
-
-
AuteurMessages
- Vous devez être connecté pour répondre à ce sujet.