Division par zero

Résolu
cs_valkyrie Messages postés 60 Date d'inscription mardi 27 juillet 2004 Statut Membre Dernière intervention 13 décembre 2004 - 24 sept. 2004 à 07:07
romior Messages postés 4 Date d'inscription dimanche 27 novembre 2005 Statut Membre Dernière intervention 19 février 2006 - 15 déc. 2005 à 11:20
Bonjour

j ai cette expression

T[i,j]:= (Ln ( Rfk [i,j] / ZNum))/(-rrNum)

lorsque je compile j ai une erreur division par zero mais en aucun cas il y a division par zero car Znum et rrnum sont certes tres proches de zero mais jamais strictement egaux a zero

si j enleve le Ln ya plus de probleme mais a ce moment la c est plus une question de division par zero.................. :(

Merci pour votre lumiere

aimez vous les uns les autres

8 réponses

cs_valkyrie Messages postés 60 Date d'inscription mardi 27 juillet 2004 Statut Membre Dernière intervention 13 décembre 2004
28 sept. 2004 à 06:23
ok merci kenavo
aimez vous les uns les autres
3
exyacc Messages postés 163 Date d'inscription dimanche 20 octobre 2002 Statut Membre Dernière intervention 31 juillet 2008
24 sept. 2004 à 10:31
tu utilises quoi comme type de variable pour rrNum et ZNum ?
0
cs_valkyrie Messages postés 60 Date d'inscription mardi 27 juillet 2004 Statut Membre Dernière intervention 13 décembre 2004
24 sept. 2004 à 10:36
Ce sont des double...
le pb vient du Ln je pense...si Rfk est proche de zero , jusqu a quelle valeur considere t il cela come superieure a zero...
aimez vous les uns les autres
0
cs_Kenavo Messages postés 702 Date d'inscription vendredi 21 mars 2003 Statut Membre Dernière intervention 1 octobre 2009 5
27 sept. 2004 à 08:34
Salut

La limite est 5 E-324, et ça fait pas gros !

tu peux vérifier avec un truc du genre

procedure TForm1.FormCreate(Sender: TObject);
var
  x, y : double;
  Erreur : boolean;
begin
  x:=1;
  Erreur := False;
  Repeat
    Memo1.Lines.Add(FloatToStr(x));
    try
      y := ln(x);
      x:=x/2;
    except
      Erreur := true;
    end;  
  until Erreur;
end;

en mettant juste un TMemo (Memo1) sur ta fiche.

Ken@vo
____________________
Code, Code, Codec !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
exyacc Messages postés 163 Date d'inscription dimanche 20 octobre 2002 Statut Membre Dernière intervention 31 juillet 2008
27 sept. 2004 à 09:18
t'as essayé avec du extended au lieu de double ?
0
cs_valkyrie Messages postés 60 Date d'inscription mardi 27 juillet 2004 Statut Membre Dernière intervention 13 décembre 2004
27 sept. 2004 à 09:35
oui mais ca marche pas.....

je pense a peu pres comprendre le pb ca vient du numerateur si il est egal a zero car la resolution du Ln pour les solveurs num se fait par developpement limite...

il me faudrait une instruction du type

Ln(max(1e-100,R[i,j].....
mais je ne connais pas l instruction pour borner est ce que vous savez?
merci
aimez vous les uns les autres
0
cs_Kenavo Messages postés 702 Date d'inscription vendredi 21 mars 2003 Statut Membre Dernière intervention 1 octobre 2009 5
27 sept. 2004 à 12:37
Salut

Entièrement d'accord avec ton analyse sur les développements limités. La fonction Max existe dans l'unité Math

Ken@vo
____________________
Code, Code, Codec !
0
romior Messages postés 4 Date d'inscription dimanche 27 novembre 2005 Statut Membre Dernière intervention 19 février 2006
15 déc. 2005 à 11:20
salut à tous,
je voudrai bien que vous m envoier un programme en pascal qui calcul le zero d un polynome à l aide de la methode de NEWTON _MAEHLY.
merci de votre comprehension....
0
Rejoignez-nous