Division par zero [Résolu]

Messages postés
60
Date d'inscription
mardi 27 juillet 2004
Dernière intervention
13 décembre 2004
- - Dernière réponse : romior
Messages postés
4
Date d'inscription
dimanche 27 novembre 2005
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
Afficher la suite 

Votre réponse

8 réponses

Meilleure réponse
Messages postés
60
Date d'inscription
mardi 27 juillet 2004
Dernière intervention
13 décembre 2004
3
Merci
ok merci kenavo
aimez vous les uns les autres

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 106 internautes ce mois-ci

Commenter la réponse de cs_valkyrie
Messages postés
163
Date d'inscription
dimanche 20 octobre 2002
Dernière intervention
31 juillet 2008
0
Merci
tu utilises quoi comme type de variable pour rrNum et ZNum ?
Commenter la réponse de exyacc
Messages postés
60
Date d'inscription
mardi 27 juillet 2004
Dernière intervention
13 décembre 2004
0
Merci
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
Commenter la réponse de cs_valkyrie
Messages postés
759
Date d'inscription
vendredi 21 mars 2003
Dernière intervention
1 octobre 2009
0
Merci
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 !
Commenter la réponse de cs_Kenavo
Messages postés
163
Date d'inscription
dimanche 20 octobre 2002
Dernière intervention
31 juillet 2008
0
Merci
t'as essayé avec du extended au lieu de double ?
Commenter la réponse de exyacc
Messages postés
60
Date d'inscription
mardi 27 juillet 2004
Dernière intervention
13 décembre 2004
0
Merci
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
Commenter la réponse de cs_valkyrie
Messages postés
759
Date d'inscription
vendredi 21 mars 2003
Dernière intervention
1 octobre 2009
0
Merci
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 !
Commenter la réponse de cs_Kenavo
Messages postés
4
Date d'inscription
dimanche 27 novembre 2005
Dernière intervention
19 février 2006
0
Merci
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....
Commenter la réponse de romior

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.