Exception en point flottant (core dumped)
Règles du forum
Pour toute demande d'aide pour la conception (ou la confirmation d'un code) d'une figure Asymptote, c'est ici.
J'invite ceux qui ont régulièrement des questions à poser à aller dans leur panneau de l'utilisateur pour indiquer dans la signature de leurs messages :
On va gagner du temps dans les réponses !
Pour toute demande d'aide pour la conception (ou la confirmation d'un code) d'une figure Asymptote, c'est ici.
J'invite ceux qui ont régulièrement des questions à poser à aller dans leur panneau de l'utilisateur pour indiquer dans la signature de leurs messages :
- Nom du système d'exploitation (W7 ou Ubuntu 12.04 ou ...)
- Version d'Asymptote et éditeur utilisé pour les figures Asymptote
- Distribution LaTeX et éditeur utilisé pour les tex.
On va gagner du temps dans les réponses !
Re: Exception en point flottant (core dumped)
Idem, chez moi (svn d'hier sur ubuntu lucid) ça marche.
Merci de bien vérifier le nom du fichier, préciser la version
d'asymptote et avec un asy -vv.
O.G.
Merci de bien vérifier le nom du fichier, préciser la version
d'asymptote et avec un asy -vv.
O.G.
Re: Exception en point flottant (core dumped)
maurice a écrit :J'ai modifié le script pour faire apparaitre les calculs :Code : Tout sélectionner
//Fonction étudiée et ses zéros
pair f(pair z) {return z^5-1;}
pair fprime(pair z) {return 5*z^4;}
pair[] racine;
racine[0]=(-0.809,0.588);
racine[1]=(0.309,0.951);
racine[2]=(1,0);
racine[3]=(0.309,-0.951);
racine[4]=(-0.809,-0.588);
//Coloration des solutions
void newton(pair c, pair[] racine, pair f(pair z), pair fprime(pair z), real r, int count=50) {
int i=0;
pair z=c;
do {
++i;
z=z-(f(z)/fprime(z));
write("Re(z)"+string(z.x));
write("Im(z)"+string(z.y));
} while (length(z-racine[0])>r && length(z-racine[1])>r && length(z-racine[2])>r && length(z-racine[3])>r && length(z-racine[4])>r && i<count);
pen p;
real step=0.01;
path sq=scale(step)*unitsquare;
if (length(z-racine[0])<=r) {p=(i/count)*green;
//filldraw(shift(z.x,z.y)*sq,p,p);}
write("z0="+string(length(z)));}
else {
if (length(z-racine[1])<=r){p=(i/count)*red;
//filldraw(shift(z.x,z.y)*sq,p,p);}
write("z1="+string(length(z)));}
else {
if (length(z-racine[2])<=r) {p=(i/count)*blue;
//filldraw(shift(z.x,z.y)*sq,p,p);}
write("z2="+string(length(z)));}
else {
if (length(z-racine[3])<=r) {p=(i/count)*yellow;
//filldraw(shift(z.x,z.y)*sq,p,p);}
write("z3="+string(length(z)));}
else {
if (length(z-racine[4])<=r) {p=(i/count)*orange;
//filldraw(shift(z.x,z.y)*sq,p,p);}
write("z4 = "+string(length(z)));}
else //filldraw(shift(z.x,z.y)*sq,black,black);
write("aucun"+string(length(z)));
}
}
}
}
}
//
real r=0.1;
real step=.01;
real xmin=-1.5, xmax=1.5;
real ymin=-1, ymax=1;
real x=xmin, y=ymin;
int xloop=round((xmax-xmin)/step);
int yloop=round((ymax-ymin)/step);
for(int i=0; i < xloop; ++i) {
for(int j=0; j < yloop; ++j) {
if((x,y)!=(0,0)) {
newton((x,y),racine,f,fprime,r,30);}
y += step;
}
x += step;
y=ymin;
}
Cette fois-ci, pour moi... cela tourne, sans s'arrêter (apparemment - j'ai interrompu le processus tellement cela durait) et donc je n'ai pas non plus la fin que tu indiques.
Index des fonctions - Exemple de lien donnant le résultat d'une recherche sur les mots 'arc' et 'triple' : http://asy.marris.fr/indexasy/?filtre=arc triple
Mes configurations (le 24/02/21) :
PC n°1 :Windows 10 - Asymptote(2.82)+MikTeX2.9 - Editeurs : Notepad++, TeXworks, Visual Studio Code.
PC n°2 : Ubuntu 20.04LTS - Asymptote(2.67-?? git) + TexLive2020
Mon serveur : Debian Stretch- Asymptote(2.68-16 git) + TexLive2018
Merci de préciser la votre !
Mes configurations (le 24/02/21) :
PC n°1 :Windows 10 - Asymptote(2.82)+MikTeX2.9 - Editeurs : Notepad++, TeXworks, Visual Studio Code.
PC n°2 : Ubuntu 20.04LTS - Asymptote(2.67-?? git) + TexLive2020
Mon serveur : Debian Stretch- Asymptote(2.68-16 git) + TexLive2018
Merci de préciser la votre !
Re: Exception en point flottant (core dumped)
Voici ce que retourne la commande asy -vv :
j'ai mis à jour asymptote (1.98 --> 2.00) cet après midi.
J'ai réessayé le code. Toujours la même erreur avec les mêmes valeurs :
Peut être je devrais essayer avec une autre fonction.
Maurice
Code : Tout sélectionner
[maurice@localhost ~]$ asy -vv
Using configuration directory /home/maurice/.asy
Welcome to Asymptote version 2.00 (to view the manual, type help)
cd /home/maurice
Loading plain from /usr/local/share/asymptote/plain.asy
Including plain_constants from /usr/local/share/asymptote/plain_constants.asy
Loading version from /usr/local/share/asymptote/version.asy
Including plain_strings from /usr/local/share/asymptote/plain_strings.asy
Including plain_pens from /usr/local/share/asymptote/plain_pens.asy
Including plain_paths from /usr/local/share/asymptote/plain_paths.asy
Including plain_filldraw from /usr/local/share/asymptote/plain_filldraw.asy
Including plain_margins from /usr/local/share/asymptote/plain_margins.asy
Including plain_picture from /usr/local/share/asymptote/plain_picture.asy
Loading simplex from /usr/local/share/asymptote/simplex.asy
Including plain_Label from /usr/local/share/asymptote/plain_Label.asy
Including plain_shipout from /usr/local/share/asymptote/plain_shipout.asy
Including plain_xasy from /usr/local/share/asymptote/plain_xasy.asy
Including plain_arcs from /usr/local/share/asymptote/plain_arcs.asy
Including plain_boxes from /usr/local/share/asymptote/plain_boxes.asy
Including plain_markers from /usr/local/share/asymptote/plain_markers.asy
Including plain_arrows from /usr/local/share/asymptote/plain_arrows.asy
Including plain_debugger from /usr/local/share/asymptote/plain_debugger.asy
>
j'ai mis à jour asymptote (1.98 --> 2.00) cet après midi.
J'ai réessayé le code. Toujours la même erreur avec les mêmes valeurs :
Code : Tout sélectionner
Re(z)-3.12614582236207e+58
Im(z)-3.90525278483203e+58
essai.asy: 17.7: runtime: Exception en point flottant (core dumped)
Peut être je devrais essayer avec une autre fonction.
Maurice
Doc 3D
Si ça ne marche pas, essayez la version pdf
Fedora 23 -- Asymptote 2.35 -- TeXlive 2013 -- emacs et/ou gedit
Si ça ne marche pas, essayez la version pdf
Fedora 23 -- Asymptote 2.35 -- TeXlive 2013 -- emacs et/ou gedit
Re: Exception en point flottant (core dumped)
Oups ! Encore une erreur de code :
remplacer les :
par :
J'ai remplacé la fonction par qui a pour racines 1, i, -1, -i.
Comme cela, ça fonctionne et j'obtiens ce que je voulais :
Mais pour toujours le core dumped.
Maurice
remplacer les :
Code : Tout sélectionner
filldraw(shift(z.x,z.y)*sq,p,p)
par :
Code : Tout sélectionner
filldraw(shift(c)*sq,p,p)
J'ai remplacé la fonction par qui a pour racines 1, i, -1, -i.
Comme cela, ça fonctionne et j'obtiens ce que je voulais :
Code : Tout sélectionner
//Méthode de Newton avec Asymptote 1.98
//Taille de l'image
size(8cm,0);
//Fonction étudiée et ses zéros
pair f(pair z) {return z^4-1;}
pair fprime(pair z) {return 4*z^3;}
pair[] racine;
//racine[0]=(-0.809,0.588);
//racine[1]=(0.309,0.951);
//racine[2]=(1,0);
//racine[3]=(0.309,-0.951);
//racine[4]=(-0.809,-0.588);
racine[0]=(1,0);
racine[1]=(0,1);
racine[2]=(-1,0);
racine[3]=(0,-1);
//Coloration des solutions
void newton(pair c, pair[] racine, pair f(pair z), pair fprime(pair z), real r, int count=50) {
int i=0;
pair z=c;
do {
++i;
z=z-(f(z)/fprime(z));
} while (length(fprime(z))>r && length(z-racine[0])>r && length(z-racine[1])>r && length(z-racine[2])>r && length(z-racine[3])>r);
// && length(z-racine[4])>r && i<count);
pen p;
real step=0.01;
path sq=scale(step)*unitsquare;
if (length(z-racine[0])<=r) {p=(1-i/count)*green;
filldraw(shift(c)*sq,p,p);}
else {
if (length(z-racine[1])<=r){p=(1-i/count)*red;
filldraw(shift(c)*sq,p,p);}
else {
if (length(z-racine[2])<=r) {p=(1-i/count)*blue;
filldraw(shift(c)*sq,p,p);}
else {
if (length(z-racine[3])<=r) {p=(1-i/count)*yellow;
filldraw(shift(c)*sq,p,p);}
else {
//if (length(z-racine[4])<=r) {p=(i/count)*orange;
// filldraw(shift(z.x,z.y)*sq,p,p);}
//else
filldraw(shift(c)*sq,black,black);
}
}
}
}
}
//
real r=0.1;
real step=.01;
real xmin=-1.5, xmax=1.5;
real ymin=-1, ymax=1;
real x=xmin, y=ymin;
int xloop=round((xmax-xmin)/step);
int yloop=round((ymax-ymin)/step);
for(int i=0; i < xloop; ++i) {
for(int j=0; j < yloop; ++j) {
if((x,y)!=(0,0)) {
newton((x,y),racine,f,fprime,r,30);}
y += step;
}
x += step;
y=ymin;
}
Mais pour toujours le core dumped.
Maurice
Doc 3D
Si ça ne marche pas, essayez la version pdf
Fedora 23 -- Asymptote 2.35 -- TeXlive 2013 -- emacs et/ou gedit
Si ça ne marche pas, essayez la version pdf
Fedora 23 -- Asymptote 2.35 -- TeXlive 2013 -- emacs et/ou gedit
Re: Exception en point flottant (core dumped)
maurice a écrit :Comme cela, ça fonctionne et j'obtiens ce que je voulais :
Donc... cela, si je reprends ton code, sans les commentaires :
*** Pour masquer/découvrir le code Asymptote qui a permis de créer la figure, il faut cliquer dessus. ;-) ***
- CODE ASYMPTOTE de la figure ci-dessus : Tout sélectionner
- size(8cm,0);
- pair f(pair z) {return z^4-1;}
- pair fprime(pair z) {return 4*z^3;}
- pair[] racine;
- racine[0]=(1,0);
- racine[1]=(0,1);
- racine[2]=(-1,0);
- racine[3]=(0,-1);
- void newton(pair c, pair[] racine, pair f(pair z), pair fprime(pair z), real r, int count=50) {
- int i=0;
- pair z=c;
- do {
- ++i;
- z=z-(f(z)/fprime(z));
- } while (length(fprime(z))>r && length(z-racine[0])>r && length(z-racine[1])>r && length(z-racine[2])>r && length(z-racine[3])>r);
- pen p;
- real step=0.01;
- path sq=scale(step)*unitsquare;
- if (length(z-racine[0])<=r) {p=(1-i/count)*green;
- filldraw(shift(c)*sq,p,p);}
- else {
- if (length(z-racine[1])<=r){p=(1-i/count)*red;
- filldraw(shift(c)*sq,p,p);}
- else {
- if (length(z-racine[2])<=r) {p=(1-i/count)*blue;
- filldraw(shift(c)*sq,p,p);}
- else {
- if (length(z-racine[3])<=r) {p=(1-i/count)*yellow;
- filldraw(shift(c)*sq,p,p);}
- else {
- filldraw(shift(c)*sq,black,black);
- }
- }
- }
- }
- }
- real r=0.1;
- real step=.01;
- real xmin=-1.5, xmax=1.5;
- real ymin=-1, ymax=1;
- real x=xmin, y=ymin;
- int xloop=round((xmax-xmin)/step);
- int yloop=round((ymax-ymin)/step);
- for(int i=0; i < xloop; ++i) {
- for(int j=0; j < yloop; ++j) {
- if((x,y)!=(0,0)) {
- newton((x,y),racine,f,fprime,r,30);}
- y += step;
- }
- x += step;
- y=ymin;
- }
Index des fonctions - Exemple de lien donnant le résultat d'une recherche sur les mots 'arc' et 'triple' : http://asy.marris.fr/indexasy/?filtre=arc triple
Mes configurations (le 24/02/21) :
PC n°1 :Windows 10 - Asymptote(2.82)+MikTeX2.9 - Editeurs : Notepad++, TeXworks, Visual Studio Code.
PC n°2 : Ubuntu 20.04LTS - Asymptote(2.67-?? git) + TexLive2020
Mon serveur : Debian Stretch- Asymptote(2.68-16 git) + TexLive2018
Merci de préciser la votre !
Mes configurations (le 24/02/21) :
PC n°1 :Windows 10 - Asymptote(2.82)+MikTeX2.9 - Editeurs : Notepad++, TeXworks, Visual Studio Code.
PC n°2 : Ubuntu 20.04LTS - Asymptote(2.67-?? git) + TexLive2020
Mon serveur : Debian Stretch- Asymptote(2.68-16 git) + TexLive2018
Merci de préciser la votre !
Re: Exception en point flottant (core dumped)
Oui, c'est un bel exemple de polynomographie...
Re: Exception en point flottant (core dumped)
C'est ca. mais je ne comprends toujours pas pourquoi sur certains ordinateurs ca marche avec et pas sur d'autres.
Maurice
Maurice
Doc 3D
Si ça ne marche pas, essayez la version pdf
Fedora 23 -- Asymptote 2.35 -- TeXlive 2013 -- emacs et/ou gedit
Si ça ne marche pas, essayez la version pdf
Fedora 23 -- Asymptote 2.35 -- TeXlive 2013 -- emacs et/ou gedit
Re: Exception en point flottant (core dumped)
La compilation marche si j'ajoute comme condition dans le while :
mais le résultat manque un peu de couleur.
Maurice
Code : Tout sélectionner
length(z)<realMax^(1/6)
mais le résultat manque un peu de couleur.
Maurice
Doc 3D
Si ça ne marche pas, essayez la version pdf
Fedora 23 -- Asymptote 2.35 -- TeXlive 2013 -- emacs et/ou gedit
Si ça ne marche pas, essayez la version pdf
Fedora 23 -- Asymptote 2.35 -- TeXlive 2013 -- emacs et/ou gedit