Page 1 sur 1

Graphe fonction rationnelle avec forme 0/0

Publié : lun. févr. 28, 2011 8:15 am
par alb
Pour aider les élèves à visualiser le graphe d'une fonction rationnelle avec d'éventuelles racines communes au numérateur et au dénominateur (j'admets volontiers qu'on est dans le pathologique), j'ai commis ce petit programme:

Code : Tout sélectionner

GrapheFonctRat(E):={
local L,F,N,D,solN,solD,NetD,s,k,ordo,ov,ev,a,b;
F:=normal(E);
N:=getNum(E);
D:=getDenom(E);
solN:=resoudre(N);
solD:=resoudre(D);
NetD:=solN intersect solD;
s:=size(NetD);
L:NULL;
si size(NetD)==0 alors 
  retourne graphe(E);
sinon
  pour k de 0 jusque s-1 faire
    ordo:=subst(F,x=NetD[k]);
    ev:=NetD[k]+i*ordo;
    ov:=ev+2*i; //modifier longueur (ici 2) du vecteur ?
    L:=L,vecteur(ov,ev),legende(ov,"("+NetD[k]+","+ordo+")",quadrant2),
    legende(ov,"exclu");
  fpour;
  a:=min(min(NetD)-5,-10);b:=max(max(NetD)+5,10);
  retourne L:=L,graphe(E,x=a..b);
fsi;
}
:;
Exemples:
E:=(4x^2-8x)/(3x^2-12);GrapheFonctRat(E);
E:=(x^3+3*x^2-154*x-312)/(x^4+x^2+x^3-156*x^2+x-156);GrapheFonctRat(E);
La question du jour:
Je veux qu'un vecteur vertical ait une longueur proportionnel à la hauteur de l'écran graphique,
par exemple 20% de ymax-ymin. Comment faire ?

Re: Graphe fonction rationnelle avec forme 0/0

Publié : lun. févr. 28, 2011 1:34 pm
par parisse
ca me parait impossible, puisque l'utilisateur peut redéfinir à sa guise ymax et ymin. Sauf à forcer le réglage graphique avec une instruction gl_y=ymin..ymax dans la définition du graphique et en utilisant (ymax-ymin)/5 pour le vecteur vertical, mais imposer ymin/ymax risque de poser des problèmes pour la généricité.
Ou alors il faudrait utiliser un bitmap défini en pixels, mais je ne vois pas comment localiser l'endroit où le vecteur doit être.

Re: Graphe fonction rationnelle avec forme 0/0

Publié : lun. févr. 28, 2011 2:57 pm
par alb
OK, merci.
Une amélioration mineure pour une meilleure lisibilité:
remplacer la ligne 17 par ov:=ev+(0.5+0.5*k)*i; ou bien par ov:=ev+(0.5+1.5*k/s)*i;

Re: Graphe fonction rationnelle avec forme 0/0

Publié : jeu. mars 17, 2011 10:27 am
par alb
J'ai un pb avec E:=(x-1)/(x-1)
En effet getNum((x-1)/(x-1)) renvoie 1 (on devrait avoir x-1 ? )

Re: Graphe fonction rationnelle avec forme 0/0

Publié : jeu. mars 17, 2011 1:50 pm
par parisse
il s'agit d'un cas ou une simplification evidente est effectuee, il se produit la meme chose si on fait x-x, ca renvoie 0.