print (scipy.constants.physical_constants [" fréquence de transition hyperfine de Cs-133 "])
et print (scipy.constants.physical_constants [" efficacité lumineuse "])
sont affichés sous forme de colonnes vides. Dans ce cas, une mise à jour est requise. Notes de version de SciPy 1.4.0 - Guide de référence de SciPy v1.5.4
Vous pouvez introduire des constantes physiques en faisant from scipy.constants import *
.
SI_2019
from scipy.constants import *
print(physical_constants["hyperfine transition frequency of Cs-133"])
print(c) #speed of light in vacuum
print(h) #the Planck constant
print(e) #elementary charge
print(k) #Boltzmann constant
print(N_A) #Avogadro constant
print(physical_constants["luminous efficacy"])
Ceci est le résultat de sortie.
Results
(9192631770.0, 'Hz', 0.0)
299792458.0
6.62607015e-34
1.602176634e-19
1.380649e-23
6.02214076e+23
(683.0, 'lm W^-1', 0.0)
Si vous dites à partir des constantes d'importation scipy
, vous devez faire quelque chose comme constants.h
ouscipy.constant.physical_constants ["fréquence de transition hyperfine de Cs-133"]
, mais vous obtenez le même résultat. ..
from scipy import constants
print(constants.h)
#6.62607015e-34
De plus, diverses unités telles que des unités combinées peuvent être utilisées dans le calcul.
units
from scipy.constants import *
print(day) #one day is 86400 seconds
print(gram) # one gram is 0.001 kilogram
print(eV) #1 eV equals e coulomb times 1 volt
#86400.0
#0.001
#1.602176634e-19
Le calcul d'unité à l'aide de préfixes est également possible. Vous pouvez également convertir la longueur d'onde-fréquence des ondes électromagnétiques en utilisant lambda2nu ()
.
prefix_and_lambda2nu
print('{:e}'.format(lambda2nu(370 * nano)), 'Hz') #ultraviolet
print(lambda2nu(370 * nano) / tera, 'THz')
print('{:e}'.format(lambda2nu(1 * milli)), 'Hz') #radio waves (microwaves)
print(lambda2nu(1 * milli) / giga, 'GHz')
#8.102499e+14 Hz
#810.2498864864865 THz
#2.997925e+11 Hz
#299.792458 GHz
La quantité d'électroélément et le nombre de Napier prêtent à confusion car ils ont tous deux le même symbole, $ e $ [^ 2]. [^ 2]: Il existe également un style pour le rendre tridimensionnel comme «e» et «i», mais ce n'est pas le cas dans tous les cas, et plutôt le corps oblique est utilisé par convention.
Si vous souhaitez simplement l'imprimer, vous pouvez ajouter une annotation, mais vous ne pouvez pas utiliser le même nom dans le code.
from scipy.constants import *
print(physical_constants["elementary charge"])
print(e)
print(math.e) #the Euler's number
Surtout dans LaTeX, vous ne tapez pas math.e
, il est donc très difficile de copier une formule proprement écrite dans du code Python.
Préparation
%matplotlib inline
import numpy as np
import matplotlib.pyplot as plt
import math
from scipy.constants import *
Comme exemple d'apparition des exposants, considérons la distribution de Fermi-Dirac. Supposons que vous souhaitiez tracer un graphique de la formule suivante:
\frac{1}{e^{\beta(\varepsilon - \mu)} + 1}= \frac{1}{e^{\mu(x - 1)/(kT)} + 1}\quad(x = \varepsilon/ \mu )
Où $ k $ est une constante de Boltzmann. Dessinons avec le notebook Jupyter.
Fermi_Dirac_distribution
from scipy.constants import *
def E(x, mu):
return 1/(e**(mu*(x - 1)/(k*T)) + 1)
C'est un graphique étrange (les paramètres de dessin du graphique sont omis). Il s'agit d'un graphique qualitativement impossible car les particules peuvent consommer autant d'énergie que possible. Puisque "e" est défini comme la valeur de la quantité d'électroélément dans "de scipy.constants import *", le graphique a été généré, mais le calcul était incorrect.
Bien sûr, vous pouvez le résoudre en jouant avec import
, mais ici nous utiliserons la méthode la plus intuitive, la plus pratique et la plus pratique. En d'autres termes, maintenant selon la formule
e = math.e
Faisons le. Comme la quantité d'électroélément n'est pas utilisée dans ce calcul, il n'y a pas de problème localement (si la quantité d'électroélément doit être utilisée ailleurs, écrivez à nouveau from scipy.constants import *
à ce moment-là, etc. Tu devrais le faire).
from scipy.constants import *
e = math.e
def E(x, mu):
return 1/(e**(mu*(x - 1)/(k*T)) + 1)
Le graphique correct est sorti!
Constants (scipy.constants) — SciPy v1.5.3 Reference Guide [SciPy Constants] (https://www.w3schools.com/python/scipy_constants.asp) [Python math.e Constant] (https://www.w3schools.com/python/ref_math_e.asp) [python memo] (http://tomohiro_abe.droppages.com/misc/python.html) J'ai fait référence à «from scipy.constants import *». [Fermi–Dirac statistics - Wikipedia] (https://en.wikipedia.org/wiki/Fermi–Dirac_statistics) J'ai fait référence aux statistiques de Fermi-Dirac.
Recommended Posts