Bonjour.
La séquence suivante (copiée-collée)
f(x,y):=(x-y)^2+(ln(x)-ln(y)^2)^2
fx(x,y):=deriver(f(x,y),x)
fy(x,y):=deriver(f(x,y),y)
resoudre([fx(x,y)==0,fy(x,y)==0],[x,y])
retourne [[x,y]] (ce qui est peut-être normal).
Mais si on remplace == dans le "resoudre" par = (ce qui est peut-être idiot), on a un arrêt brutal...
arret intempestif
Modérateur : xcasadmin
oui avec == la reponse est normale, car c'est le test etre egal a qui renvoie 0 et donc l'equation est consideree comme resolue pour tout x,y. En remplacant par =, j'obtiens
[x,ln(x)] is not rational w.r.t. x Error: Bad Argument Value
Encore un test qu'il me faudra faire sous windows donc...
Au passage, il ne faut pas definir fx et fy de cette facon, car par exemple dans
fx(x,y):=deriver(f(x,y),x)
la variable x a 2 sens: c'est la variable formelle de derivation et c'est aussi une des 2 variables muettes de definition de fx et il n'est pas impossible que ce soit la raison du plantage. Il faudrait donc ecrire
fx:=unapply(deriver(f(x,y),x),x,y)
Je vous conseille plutot de travailler avec des expressions
f:=(x-y)^2+(ln(x)-ln(y)^2)^2;
fx:=deriver(f,x);
fy:=deriver(f,y);
resoudre([fx=0,fy=0],[x,y])
Dans ce cas Xcas ne sait pas resoudre, en fait il ne sait en gros que traiter les systemes polynomiaux en calcul exact. En general, on peut utiliser fsolve pour trouver une solution isolee par un algorithme numerique iteratif a partir d'une valeur initiale, mais ici ca ne marchera pas forcement car x=y est solution.
[x,ln(x)] is not rational w.r.t. x Error: Bad Argument Value
Encore un test qu'il me faudra faire sous windows donc...
Au passage, il ne faut pas definir fx et fy de cette facon, car par exemple dans
fx(x,y):=deriver(f(x,y),x)
la variable x a 2 sens: c'est la variable formelle de derivation et c'est aussi une des 2 variables muettes de definition de fx et il n'est pas impossible que ce soit la raison du plantage. Il faudrait donc ecrire
fx:=unapply(deriver(f(x,y),x),x,y)
Je vous conseille plutot de travailler avec des expressions
f:=(x-y)^2+(ln(x)-ln(y)^2)^2;
fx:=deriver(f,x);
fy:=deriver(f,y);
resoudre([fx=0,fy=0],[x,y])
Dans ce cas Xcas ne sait pas resoudre, en fait il ne sait en gros que traiter les systemes polynomiaux en calcul exact. En general, on peut utiliser fsolve pour trouver une solution isolee par un algorithme numerique iteratif a partir d'une valeur initiale, mais ici ca ne marchera pas forcement car x=y est solution.
Je viens de mettre en ligne une mise a niveau windows qui corrige partiellement le probleme, en renvoyant une liste contenant le message d'erreur au lieu de faire afficher le message d'erreur, c'est la generation d'une erreur qui provoque le plantage sous windows, sans que je puisse determiner pourquoi. Ce qui est plutot genant, car je ne sais pas si d'autres generations d'erreurs du meme type ne provoqueront pas aussi des plantage sous windows alors qu'ailleurs tout va bien...