inter

Bugs

Modérateur : xcasadmin

alb
Messages : 1320
Inscription : ven. août 28, 2009 3:34 pm

inter

Message par alb » mer. janv. 22, 2014 4:00 pm

j'aurais besoin d'une explication et eventuellement d'une amelioration :-) de ce script:

Code : Tout sélectionner

a:=element(-10..10);
f(x):=x*(ln(x)+a);
Cf:=graphe(f(x),x=0..10);
S:=inter_unique(Cf,droite(y=0)); // selon la valeur de a S peut se retrouver en (0,0) ou hors de Cf
S:=inter_unique(Cf,droite(y=0),[0]); // pas mieux
j'ai propose ceci pour montrer que la droite (SE) a une direction fixe:

f(x):=x*(ln(x)+a);
sol1:=solve(f(x)=0);
sol2:=solve(f(x)=x);

puis en dessous dans un niveau de geometrie 2-d:

droite(y=x);
a:=element(-10..10);
graphe(f(x));
S:=point(sol1[0],0);
E:=point(sol2[0],sol2[0]);
droite(S,E);

puis en dessous en ligne de commande:

lin(coordonnees(vecteur(S,E))/exp(-a)) // renvoie [exp(1)-1,exp(1)]

parisse
Messages : 5739
Inscription : mar. déc. 20, 2005 4:02 pm
Contact :

Re: inter

Message par parisse » jeu. janv. 23, 2014 12:36 pm

En effet, c'est la methode de resolution qui envoie des undef en trop, je suis en train de les enlever.

alb
Messages : 1320
Inscription : ven. août 28, 2009 3:34 pm

Re: inter

Message par alb » mar. janv. 28, 2014 11:35 am

sur 1.1.0-38 le code ci-dessous continue à positionner S un peu n'importe où si symb est decoche.
Parfait avec symb coche.

Code : Tout sélectionner

a:=element(-10..10);
f(x):=x*(ln(x)+a);
Cf:=graphe(f(x),x=0..100);
S:=inter_unique(Cf,droite(y=0))

parisse
Messages : 5739
Inscription : mar. déc. 20, 2005 4:02 pm
Contact :

Re: inter

Message par parisse » mar. janv. 28, 2014 12:20 pm

Je ne vois pas ce que je peux y faire malheureusement. L'intersection est calculee en se ramenant au cas general d'une courbe d'equation parametrique t+i*f(t) inter une droite, ce qui amene au calcul de la partie reelle et imaginaire de l'equation parametrique, et pour faire ca ln(t) est remplace par ln(abs(t))+i*arg(t). Le point de depart de la methode iterative pour resoudre l'equation numeriquement (car a ayant une valeur approchee) est 0, ou le ln n'est pas defini, le solver prend donc un point au hasard, ce qui peut amener differents solutions (dont des points proches de 0), mais aussi une solution negative pour le parametre t et donc un point reel mais qui ne correspondent a rien. Je peux peut-etre ajouter un warning quand le ln(t) est calcule pour t negatif (en mode reel), en esperant que ca ne generera pas d'effet de bord.
Si symb est coche, a reste symbolique, l'equation est resolue exactement et pas numeriquement, ce qui explique que tout se passe bien.

alb
Messages : 1320
Inscription : ven. août 28, 2009 3:34 pm

Re: inter

Message par alb » mar. janv. 28, 2014 3:36 pm

je ne suis pas sur qu'il faille changer qqchose
1/ pour a symbolique on a exactement ce que l'on veut: la position de S et son abscisse
2/ pour a numerique les explications concernant les limites de la methode peuvent etre expliquees aux eleves.
L'occasion donc de montrer l'avantage d'un logiciel de calcul formel.

Répondre