choze bizarre avec element

Librairie C++ de calcul formel/ C++ symbolic computation library

Modérateur : xcasadmin

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

Re: choze bizarre avec element

Message par parisse » jeu. juil. 05, 2012 9:19 am

Bon, je pense que j'ai une solution a base de dichotomie, ca consisterait a mettre dans plot.cc le code suivant (ligne 4325... a la place du code precedent)

Code : Tout sélectionner

	if (has_num_coeff(eq)){
	  gen rep=re(p,contextptr);
	  // first try bisection near re(p) if re(v[0])==v[1]
	  if (re(v[0],contextptr)==v[1]){
	    gen dx=(gnuplot_xmax-gnuplot_xmin)/2; // or maybe v[3]-v[2]?
	    int iszero=-1;
	    vecteur sol1=bisection_solver(eq,v[1],rep-dx,rep+dx,iszero,contextptr);
	    // keep only solutions, no sign reversal
	    for (unsigned i=0;i<sol1.size();++i){
	      if (is_greater(1e-4,subst(eq,v[1],sol1[i],false,contextptr),contextptr))
		sol.push_back(sol1[i]);
	    }
	  }
	  if (sol.empty()){
	    vecteur eqv(makevecteur(eq,v[1],re(p,contextptr)));
	    sol=gen2vecteur(in_fsolve(eqv,contextptr));
	  }
        }

loic
Messages : 168
Inscription : ven. mars 14, 2008 7:20 pm

Re: choze bizarre avec element

Message par loic » jeu. juil. 05, 2012 12:36 pm

Super!

Je viens de tester, ça a l'air de fonctionner nickel!

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

Re: choze bizarre avec element

Message par alb » ven. juil. 06, 2012 1:23 pm

je viens de mettre à jour la version instable
f(x):=x^2
C:=plot(f(x))
t:=element(-10..10)
jusque là tout va bien mais si on clique sur le curseur celui-ci disparaît le point (0,0) s'affiche avec t en légende.
A part çà Bonnes Vacances :-)

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

Re: choze bizarre avec element

Message par parisse » ven. juil. 06, 2012 3:29 pm

j'ai bien fait de laisser les version stables sur la version de lundi alors!
bon, ben la correction sur l'instable attendra sans doute le 3 septembre!
->

Code : Tout sélectionner

diff Graph.cc Graph.cc~
7354c7354
<           ff = symbolic(at_element,gen(makevecteur(ff,value(),Fl_Valuator::step()),_SEQ__VECT));
---
>           ff = symbolic(at_element,makevecteur(ff,value(),Fl_Valuator::step()));

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

Re: choze bizarre avec element

Message par alb » ven. juil. 06, 2012 7:06 pm

Aîe ! le problème est présent sur les versions stables linux et windows :(

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

Re: choze bizarre avec element

Message par parisse » ven. juil. 06, 2012 7:57 pm

Suis en train d'uploader une version instable corrigée pour windows et mac si le wifi d'orange tient... peut-etre aussi linux mais en 64 bits seulement, je ne peux pas en 32 bits le PC pour compiler est à la fac.

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

Re: choze bizarre avec element

Message par parisse » sam. juil. 07, 2012 5:50 am

bon, j'ai copié l'instable corrigée en stable pour mac et windows, si un autre bug apparait je les rétrogaderai. Pour linux, je laisse tel quel (il faut alors contourner en utilisant assume et evalf au lieu de element).

Répondre