Hi,
wie der Titel sagt, kann man mit Scipy auch Berechnungen mit physikalischen Einheiten durchfuehren? Ich habe in der Doku bisher nur eine Referenz zu der CODATA database gefunden, die die Einheiten fuehrt, aber so richtig einen Verweis darauf, wie man mit Einheiten rechnet, habe ich nicht gefunden.
Bei "mit Einheiten rechnen" meine ich, dass man zum Beispiel 1 m + 1 km berechnen kann, ohne gross selber mit Konvertierungen aktiv zu werden.
Ist das moeglich oder sollte ich lieber auf soetwas wie ScientificPython zurueckgreifen? Das macht genau, was ich will, das letzte Update war jedoch 2007 und ich bin mir nicht sicher, ob das Projekt noch aktiv ist. Mit den unaufhaltsamen, jedoch sehr langsamen Umstellungen verschiedenster Projekte auf Python 3 haette ich "eigentlich" gerne eins, dass noch aktiv ist...
Danke schonmal.
Nebs
Eignet sich scipy fuer Berechnungen mit Einheiten?
- Sr4l
- User
- Beiträge: 1091
- Registriert: Donnerstag 28. Dezember 2006, 20:02
- Wohnort: Kassel
- Kontaktdaten:
Code: Alles auswählen
In [1]: from scipy.constants import *
In [2]: 60*minute == 1*hour
Out[2]: True
In [3]: (100*kilo)/(1*hour)
Out[3]: 27.77777777777778
@Sr4l: Danke fuer die Antwort. Also "Sinn" machen im Sinne von, warum ich diese Antwort bekomme, ist schon klar. Ist nur natuerlich leider nicht, was ich mir erhofft habe
Wollte natuerlich im Idealfall etwas, dass zum Beispiel bei 2 km / 2 s als Resultat 1 km s^-1 gibt, aber das war mir von Anfang klar, dass das nicht klappt
So wie ich das sehe, beschreiben deine Beispiele ja nur Platzhalter fuer passende Multiplikatoren (minute=60, hour=3600, kilo=1000)...
Nachtrag:
Ok, ich habe in der Doku, den Teil gefunden, auf den du anspielst.
I guess, that'll have to do
Wollte natuerlich im Idealfall etwas, dass zum Beispiel bei 2 km / 2 s als Resultat 1 km s^-1 gibt, aber das war mir von Anfang klar, dass das nicht klappt
So wie ich das sehe, beschreiben deine Beispiele ja nur Platzhalter fuer passende Multiplikatoren (minute=60, hour=3600, kilo=1000)...
Nachtrag:
Ok, ich habe in der Doku, den Teil gefunden, auf den du anspielst.
I guess, that'll have to do
- Sr4l
- User
- Beiträge: 1091
- Registriert: Donnerstag 28. Dezember 2006, 20:02
- Wohnort: Kassel
- Kontaktdaten:
http://docs.scipy.org/doc/scipy/referen ... tants.html
Genau schön ist es nicht. Man muss immer noch wissen was man tut. Am Ende kommen immer SI Einheiten raus, aber man kann nicht sagen ob es `m`oder `m/s^2` sind.
Wenn du noch was schöneres findest kannst du es hier schreiben. Ich kenne mich mit SciPy nur wenig aus, nutze es nur für den Import von Matlab her.
Genau schön ist es nicht. Man muss immer noch wissen was man tut. Am Ende kommen immer SI Einheiten raus, aber man kann nicht sagen ob es `m`oder `m/s^2` sind.
Wenn du noch was schöneres findest kannst du es hier schreiben. Ich kenne mich mit SciPy nur wenig aus, nutze es nur für den Import von Matlab her.
Vollständigkeitshalber erwaehne ich jetzt noch das Modul quantities, was auf den ersten Blick im Grunde dasselbe macht wie Scientific Python, nur etwas neuerem Datum ist.
Beispiel:
Output waere dabei
Natuerlich muss man auf solche Sachen achten wie:
Denn das ergibt dann 200.0 kg/(m*s**2)
Ist auf jeden Fall ein Schritt in die richtige Richtung...
Beispiel:
Code: Alles auswählen
import quantities as pq
p1 = 20 * pq.kg
p2 = 1 * pq.m
p3 = 10 * pq.s**2
print p1/(p2*p3)
Code: Alles auswählen
2.0 kg/(m*s**2)
Code: Alles auswählen
p1 = 20 * pq.kg
p2 = 1 * pq.m**(-1)
p3 = 10 * pq.s**(-2)
print p1*p2*p3
Ist auf jeden Fall ein Schritt in die richtige Richtung...