Message d'erreur (math domain error)

Message d'erreur (math domain error) - Python - Programmation

Marsh Posté le 26-10-2009 à 18:59:20    

Bonjour,
 
Je suis loin d'être un expert en programmation, et j'ai un soucis avec une formule. Je ne sais pas si ça vient des puissance (pow) que je viens de découvrir ou d'autre chose. Pour information, je cherche à calculé l'émittance par la loi de Planck et la simplification de Wien dans un premier temps.
 
Voilà le message d'erreur que j'ai :
 
Mw=2*pi*h*pow(c,2)*pow(l,-5)*exp((-h*c)/(k*l*T))
ValueError: math domain error
 
Mon code est :
 

Code :
  1. # -*- coding: cp1252 -*-
  2. from math import*
  3. import os
  4. T = float(input("Donnez la température (Kelvin) : " ))
  5. n = float(input("Donnez l'indice du milieu : " ))
  6. lm = float(input("Donnez la longueur d'onde maximum (m) : " ))
  7. n = int(input("Donnez le nombre de points souhaités (entier): " ))
  8. dl=lm/n
  9. pi=3.1416
  10. h=6.6255*pow(10,-34)
  11. k=1.3805*pow(10,-23)
  12. c0=2.9979*pow(10,8)
  13. c=c0/n
  14. for i in range(0,n+1):
  15.     l=i*dl
  16.     # Loi de Wien
  17.     Mw=2*pi*h*pow(c,2)*pow(l,-5)*exp((-h*c)/(k*l*T))
  18.     print Mw
  19.     # Loi de Planck
  20.     Mp=2*pi*h*pow(c,2)*pow(l,-5)/(exp((h*c)/(k*l*T))-1)
  21.     print Mp


 
 
 
     

Reply

Marsh Posté le 26-10-2009 à 18:59:20   

Reply

Marsh Posté le 26-10-2009 à 21:28:19    

En fait le problème était juste que je divisais par 0 :pt1cable:

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed