Accueil › Forums › Programmation WIMS › Programmation d’exercices OEF › comportement de maxima
- Ce sujet contient 6 réponses, 3 participants et a été mis à jour pour la dernière fois par bernadette, le il y a 7 années.
-
AuteurMessages
-
-
1 décembre 2017 à 17:41 #4173bernadetteMaître des clés::
Voici un comportement de maxima que je ne m’explique pas tout à fait
et qui gêne pour l’analyse des réponses dans le type formal.Premier exemple
keepfloat:true;
ratsimp(exp(-0.2*x)-exp(-2/10*x));
0
ratsimp(exp(0.2*x)-exp(2/10*x));
pas de simplification
Le comportement est différent s’il y a un signe -.Si on met keepfloat:false;
on trouve 0 dans les deux cas.Mais si on a la même chose sans x
Le comportement est différent s’il n’y a pas de x
keepfloat:false;
ratsimp(exp(-0.2)-exp(-2/10));
ratsimp(exp(0.2)-exp(2/10));Cela peut être résolu avec l’option
ratsimpexpons:true;Par contre, que faire avec sin et cos.
keepfloat:false;
trigsimp(cos(0.2)-cos(2/10));
resultat non évalué comme nul.
trigsimp(cos(0.2*x)-cos(2/10*x));
resultat 0Tout cela pour essayer de corriger le type de réponse
formal qui n’accepte pas comme bonne réponse exp(0.2*x)
si la bonne réponse est donnée comme exp(2/10*x).Avez-vous des idées ou des suggestions pour des options maxima de simplification ?
Bernadette
-
3 décembre 2017 à 10:04 #4175jm.eversParticipant
-
3 décembre 2017 à 12:06 #4177bernadetteMaître des clés::
The question is that the behaviour is not the same if there is no variable
b:map(‘float,(exp(0.2)));
gives an error.(%i6) b:map(‘float,(exp(0.2)));
map: improper argument: 1.22140275816017
— an error. To debug this try: debugmode(true);And also, in fact in the other case, the x disappears !
(%i3) b:map(‘float,(exp(0.2*x)));
0.2 x
(%o3) 2.718281828459045(%i5) b:map(‘float,(exp(0.2*x)*exp(1/2)));
0.2 x + 0.5
(%o5) 2.718281828459045I would like not to have to test too much !
Bernadette
-
3 décembre 2017 à 12:36 #4178jm.eversParticipant::
how about setting
maperror:false
like:maperror:false; a:map('float,exp(2/10*x)); b:map('float,exp(0.2*x)); c:map('float,exp(2/10)); d:map('float,exp(0.2)); e:map('float,exp(0.2*x)*exp(1/2)); f: map('float,trigsimp(cos(0.2)-cos(2/10))); g: map('float,trigsimp(cos(0.2*x)-cos(2/10*x))); h: map('float,cos(0.2*x)-cos(2/10*x)); i: map('float,cos(0.2)-cos(2/10));
result:
false 2.718281828459045^(0.2*x) 2.718281828459045^(0.2*x) 1.22140275816017 1.22140275816017 2.718281828459045^(0.2*x+0.5) 0.0 0.0 0.0 0.0
- Cette réponse a été modifiée le il y a 7 années par jm.evers. Raison: typo
- Cette réponse a été modifiée le il y a 7 années par jm.evers.
- Cette réponse a été modifiée le il y a 7 années par jm.evers. Raison: additional examples
- Cette réponse a été modifiée le il y a 7 années par jm.evers. Raison: more examples
- Cette réponse a été modifiée le il y a 7 années par jm.evers.
-
3 décembre 2017 à 22:45 #4184lemaireParticipant::
float without map seems to work also for simple expressions:
a:float(cos(2/10*x)); b:float(cos(0.2*x)-cos(2/10*x)); c:float(cos(0.2)-cos(2/10)); d:float(exp(0.2*x)-exp(2/10*x)); e:float(ratsimp(exp(0.2*x)-exp(2/10*x)));
give
cos(0.2 x)
0.0
0.0
2.718281828459045^(0.2x) – 1.0 2.718281828459045^(x/5)
0.0But if we compose exp and cos, terms are not always simplified:
f:float(ratsimp(exp(cos(0.2)*x)-exp(cos(2/10)*x))); g:float(ratsimp(trigsimp(exp(cos(0.2*x))-exp(cos(2/10*x)))));
Answers are:
rat: replaced 0.9800665778412416 by 21157347/21587663 = 0.980066577841242 2.718281828459045^ ( 21157347 x/ 21587663 ) - 1.0 2.718281828459045^(cos(1/5) x)
and
rat: replaced 0.2 by 1/5 = 0.2 0.0
I wonder if it will better not to use 0.2 in expression when using the answer type formal; The problem could be avoided if a warning message can be displayed to students when they enter a comma number. For instance,
Your answer must not contain a decimal point. Write decimal numbers as fractions.- Cette réponse a été modifiée le il y a 7 années par lemaire.
-
7 décembre 2017 à 15:48 #4196jm.eversParticipant::
Your answer must not contain a decimal point. Write decimal numbers as fractions.
you are right, that is the best solution for demanding mathematical precise answers.
And this could be easily implemented in javascript, eg we don’t send the answer to wims if there is a ‘decimal number’ present in the formula/answer
Joke
-
7 décembre 2017 à 18:46 #4197bernadetteMaître des clés
-
-
AuteurMessages
- Vous devez être connecté pour répondre à ce sujet.