oxdo | 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 :
- # -*- coding: cp1252 -*-
- from math import*
- import os
- T = float(input("Donnez la température (Kelvin) : " ))
- n = float(input("Donnez l'indice du milieu : " ))
- lm = float(input("Donnez la longueur d'onde maximum (m) : " ))
- n = int(input("Donnez le nombre de points souhaités (entier): " ))
- dl=lm/n
- pi=3.1416
- h=6.6255*pow(10,-34)
- k=1.3805*pow(10,-23)
- c0=2.9979*pow(10,8)
- c=c0/n
- for i in range(0,n+1):
- l=i*dl
- # Loi de Wien
- Mw=2*pi*h*pow(c,2)*pow(l,-5)*exp((-h*c)/(k*l*T))
- print Mw
- # Loi de Planck
- Mp=2*pi*h*pow(c,2)*pow(l,-5)/(exp((h*c)/(k*l*T))-1)
- print Mp
|
|