Frage

Ich hasse Physik, aber ich liebe Software-Entwicklung. Als ich wieder zur Schule gehe nach Thanksgiving, werde ich zwei weitere Quartale Physik nehmen, bevor ich mit der schrecklichen Sache fertig bin. Ich bin derzeit Buchungen auf der F # Maßeinheiten Funktion zu lesen, aber ich habe noch nie eine Sprache wie F # verwendet. Wäre es geeignet sein, Anwendungen zu schreiben, so dass ich vielleicht etwas über Physik lernen können, während sie etwas tun Ich mag?

Ich habe Interesse an Kommandozeilen-Anwendungen (auch solche, die ich gerade ausführen kann, und eine Antwort ausspucken ohne Eingänge zu benötigen) für Dinge wie Kinematik, ebene Bewegung, Newtons Gesetze, Gravitation, Arbeit, Energie, Impuls und Impuls Systeme von Partikeln, Rotations Kinematik und Dynamik, Drehimpuls, statisches Gleichgewicht, Oszillationsbewegung, Wellenbewegung, Ton, physikalische Optik, Elektrostatik, Gauß'sche Gesetz, elektrisches Feld und Potential, Kapazität, Widerstand, DC-Schaltungen, magnetisches Feld, Flutungsgesetz und Induktivität.

Der Grund, warum ich in F # interessiert bin, ist wegen der Maßeinheiten-Funktionalität, die die Sprache bietet.

War es hilfreich?

Lösung

In meiner voreingenommenen Meinung ist F # für Physik ideal. Es verfügt über eine Funktion Maßeinheiten genannt, die für Sie dimensionale Analyse der Fall ist, die Bereitstellung Fehler, wenn Sie es falsch ist. Zum Beispiel, wenn Sie schreiben:

let distance : float<meters> = gravity * 3.0<seconds>

Das wäre ergibt einen Compiler-Fehler , da die Schwerkraft ist und nicht . Dies verhindert, dass ein hohes Maß an Physik bezogenen Programmierfehler.

Weitere Informationen finden Sie auf Andrew Kennedy Blog .

Andere Tipps

ritt ich die Einführung eines Buch call „F # für Wissenschaftler“ (das Intro kostenlos zur Verfügung steht), und es scheint eine gute Einführung in das Gebiet zu sein, da F # sehr gut auf diese Art von Feld angepasst zu sein scheint .

Sie können einen Blick auf die Einführung haben wollen.

http://www.ffconsultancy.com/products/fsharp_for_scientists/

(Und nein, ich habe keine Beziehung zu dem Autor; -)

Ja (jede Sprache ist) und Nein (lernen, was Ihre zukünftigen Kollegen verwenden, wie vielleicht Python sie verwenden.). Eine interessante Seite ist Fortress .

über Dimensionsanalyse: ein Spaß Kalkül Trick einmal von einem meiner Physikprofessoren gegeben: da es eine Stunde dauert ein ein Pfund Truthahn in einem Ofen gegeben, um perfekt zu kochen, wie lange es dauern würde, ein 2 Pfund Truthahn kochen der gleiche Ofen?

Nun, Dimensionsanalyse zeigt

(1), dass die Gesamtmenge an Wärmeenergie benötigt, um die Türkei zu kochen, um die Masse des Truthahn proportional ist, der sich zu seinem Volumen proportional ist, die sich zu der dritten Potenz davon proportional ist durchschnittlich „Radius“
d.h
Kochen benötigte Wärmeenergie = k1 * (turkeyRadius“^ 3) ==> Einheit: m ^ 3 * k (wobei k1 Einheit ist J / m ^ 3)

(2) Dass die Gesamtmenge der Wärmeenergie durch den Ofen zur Verfügung gestellt, um die Oberfläche des Truthahn durch die Menge der Zeit multipliziert proportional ist, dass Sie es kochen,
d.h
Wärme, die von dem Ofen = k2 * * Zeit (turkeyRadius ^ 2) (wobei k2 Einheit ist J / s / m ^ 2)

Dann unter Verwendung von (1) = (2), erhalten Sie
Zeit = k1 / k2 * turkeyRadius ^ (3/2)

d.h
- die Garzeit ist proportionnal den Radius ^ 3/2
- da turkeyRadius ist proportionnal der kubischen Wurzel der Masse, so erhalten wir
  Kochzeit = k3 * sqrt (Masse)

So wird es dauern, sqrt (2) mal länger unser 2 Pfund Truthahn zu kochen, und das Ergebnis wird ohne Berechnung erhält überhaupt -. Nur Dimensionsanalyse

Ja, das ist F # eine gute Möglichkeit, auf dem funktionalen Programmierung zu bauen, als nur Chris Smith in seiner Antwort sagte. Ich arbeite eine umfangreiche Diskussion über Physik, Technik und Biologie mit F # auf dem Aufbau. Ich könnte sicherlich eine Eingabe von einem Schüler wie Sie selbst verwenden. Programmieren ohne wirkliches Leben Problem im Auge ist eine Möglichkeit der Programmierung. Der andere Weg, der erfolgreich ist, ist es, Lösungen zu schaffen, das nur von Menschen mit Computern verwendet werden, auf jeden Fall eines anderen Weg ein gehen und den Wohlstand aufbaut.

F # für Wissensbereiche wie Physik gemacht wird.

FSharp ist eine Wahl. Wenn Sie möchten, eine Fähigkeit lernen, die auch von langfristigem Nutzen sein können, warum nicht Python lernen. Sie werden auch numpy und scipy an Ihren Fingerspitzen haben dann auch.

jede Computersprache lernen werden Sie Physik nicht lehren, und Sie können Physik lernen, indem sie Programme in jeder Sprache geschrieben werden.

Dimensionsanalyse ist ein ziemlich praktisches Werkzeug für Physik Probleme, es Sie weg „nicht einmal falsch“ lenken kann von zu sein.

Ich habe gewonnen immer eine gewisse perverse Freude in immer eine Antwort falsch durch Faktoren von 10 ^ 34, weil ich meine Einheiten bekommen habe irgendwo falsch; -)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top