Verwenden physikalischer Konstanten in Python scipy.constants ~ Konstante e ~

0. Umwelt

\bullet macOS Catalina \bullet Jupyter notebook \bullet Python 3.8.6 \bullet NumPy 1.18.5 \bullet SciPy 1.5.4[^1] [^ 1]: print (scipy.constants.physical_constants [" Hyperfeinübergangsfrequenz von Cs-133 "]) und print (scipy.constants.physical_constants ["Lichtausbeute"]) werden als leere Spalten ausgegeben. In diesem Fall ist ein Update erforderlich. SciPy 1.4.0 Versionshinweise - SciPy v1.5.4 Referenzhandbuch

  1. scipy.constants

1.1 Physikalische Konstanten

Sie können physikalische Konstanten einführen, indem Sie "from scipy.constants import *" ausführen.

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"])

Dies ist das Ausgabeergebnis.

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)

Wenn Sie "von scipy-Importkonstanten" sagen, müssen Sie so etwas wie "constants.h" oder "scipy.constant.physical_constants [" Hyperfeinübergangsfrequenz von Cs-133 "]" tun, aber Sie erhalten das gleiche Ergebnis. ..

from scipy import constants
print(constants.h)
#6.62607015e-34

1.2 Feinere Berechnungen

Zusätzlich können verschiedene Einheiten wie kombinierte Einheiten in die Berechnung einbezogen werden.

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

Eine Einheitenberechnung mit Präfixen ist ebenfalls möglich. Sie können die Wellenlängenfrequenz elektromagnetischer Wellen auch mit lambda2nu () umwandeln.

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

2. Konstante e

2.1 Strommenge und Anzahl der Napier

Sowohl die Elektroelementmenge als auch die Napier-Zahl verwechseln sich mit demselben $ e $ [^ 2]. [^ 2]: Es gibt auch einen dreidimensionalen Stil wie "e" und "i", aber dies ist nicht in allen Fällen der Fall, sondern der schräge Körper wird konventionell verwendet.

Wenn Sie es nur drucken möchten, können Sie eine Anmerkung hinzufügen, aber nicht denselben Namen im Code verwenden.

from scipy.constants import * 
print(physical_constants["elementary charge"])
print(e)
print(math.e) #the Euler's number

Insbesondere in LaTeX geben Sie nicht "math.e" ein, daher ist es sehr mühsam, eine sauber geschriebene Formel in Python-Code zu kopieren.

2.2 Beispiel für die Potenz von e: Fermi-Dirac-Statistiken

Vorbereitung



%matplotlib inline

import numpy as np
import matplotlib.pyplot as plt
import math
from scipy.constants import *

Betrachten Sie als Beispiel für das Auftreten von Exponenten die Fermi-Dirac-Verteilung. Angenommen, Sie möchten ein Diagramm mit der folgenden Formel zeichnen:

 \frac{1}{e^{\beta(\varepsilon - \mu)} + 1}= \frac{1}{e^{\mu(x - 1)/(kT)} + 1}\quad(x = \varepsilon/ \mu )

Wobei $ k $ eine Boltzmann-Konstante ist. Lassen Sie uns mit Jupyter Notebook zeichnen.

Fermi_Dirac_distribution


from scipy.constants import * 
def E(x, mu):
    return 1/(e**(mu*(x - 1)/(k*T)) + 1)
example_elementary.png

Das ist ein seltsames Diagramm (die Einstellungen für das Zeichnen von Diagrammen werden weggelassen). Dies ist ein qualitativ unmöglicher Graph, da die Partikel so viel Energie wie möglich aufnehmen können. Da "e" als der Wert der Elektroelementmenge in "von scipy.constants import *" definiert ist, wurde das Diagramm ausgegeben, aber die Berechnung war falsch.

Natürlich können Sie mit "Import" spielen, um das Problem zu lösen, aber hier verwenden wir die intuitivste, bequemste und bequemste Methode. Mit anderen Worten, jetzt nach der Formel

e = math.e

Machen wir das. Da die Elektroelementmenge in dieser Berechnung nicht verwendet wird, gibt es lokal kein Problem (wenn die Elektroelementmenge an anderer Stelle verwendet wird, schreiben Sie zu diesem Zeitpunkt erneut "from scipy.constants import *" usw.). Du solltest es tun).

from scipy.constants import * 
e = math.e
def E(x, mu):
    return 1/(e**(mu*(x - 1)/(k*T)) + 1)
example_math_e.png

Das richtige Diagramm wird ausgegeben!

Verwandte / Referenzartikel

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) Ich habe auf "from scipy.constants import *" verwiesen. [Fermi–Dirac statistics - Wikipedia] (https://en.wikipedia.org/wiki/Fermi–Dirac_statistics) Ich bezog mich auf die Fermi-Dirac-Statistik.

Recommended Posts

Verwenden physikalischer Konstanten in Python scipy.constants ~ Konstante e ~
Löse ABC176 E in Python
Übersetzt mit Googletrans in Python
Verwenden des Python-Modus in der Verarbeitung
GUI-Programmierung in Python mit Appjar
Vorsichtsmaßnahmen bei der Verwendung von Pit mit Python
Versuchen Sie es mit LevelDB mit Python (plyvel)
Verwendung globaler Variablen in Python-Funktionen
Mal sehen, wie man Eingaben in Python verwendet
Gesamtleistung in Python (mit Funktools)
Handschriftliche Zeichenerkennung mit KNN in Python
Versuchen Sie es mit LeapMotion mit Python
Suche nach Tiefenpriorität mit Stack in Python
Bei Verwendung regulärer Ausdrücke in Python
GUI-Erstellung in Python mit tkinter 2
Mausbedienung mit Windows-API in Python
Versuchen Sie es mit der Wunderlist-API in Python
Holen Sie sich Suica Balance in Python (mit libpafe)
Übung, dies in Python zu verwenden (schlecht)
Hash-Passwörter langsam mit bcrypt in Python
Versuchen Sie, die Kraken-API mit Python zu verwenden
Verwenden von venv in der Windows + Docker-Umgebung [Python]
[FX] Hit oanda-API mit Python mit Docker
Tweet mit der Twitter-API in Python
[Python] [Windows] Serielle Kommunikation in Python über DLL
Ich habe versucht, die Bayes'sche Optimierung von Python zu verwenden
Holen Sie sich Youtube-Daten in Python mithilfe der Youtube-Daten-API
Scraping von Websites mit JavaScript in Python
Entwicklung eines Slack Bot mit Python mit chat.postMessage
Schreiben Sie mit f2py ein Python-Modul in fortran
Zeichnen Sie mit graphviz eine Baumstruktur in Python 3
Hinweise zur Verwendung von Python (Pydev) mit Eclipse
Krankheitsklassifizierung durch Random Forest mit Python
Laden Sie Dateien in jedem Format mit Python herunter
Parallele Taskausführung mit concurrent.futures in Python
Quadtree in Python --2
CURL in Python
Metaprogrammierung mit Python
Python 3.3 mit Anaconda
Geokodierung in Python
SendKeys in Python
Erstellen Sie eine GIF-Datei mit Pillow in Python
Metaanalyse in Python
E-Mail-Anhänge über Ihr Google Mail-Konto mit Python.
Unittest in Python
Erstellen eines Nummerierungsprozesses mit Python im lokalen DynamoDB-Nummerierungsprozess
Zwietracht in Python
Holen Sie sich die Bild-URL mithilfe der Flickr-API in Python
Starten Sie Python
DCI in Python
Hinweise zur Verwendung von dict mit Python [Competition Pro]
Quicksort in Python
nCr in Python
Lassen Sie uns Emotionen mithilfe der Emotions-API in Python beurteilen
N-Gramm in Python
Führen Sie eine Entitätsanalyse mit spaCy / GiNZA in Python durch
Programmieren mit Python