質問
物理は嫌いですが、ソフトウェア開発は大好きです。感謝祭の後に学校に戻るとき、恐ろしいことを終える前に、物理学のさらに4分の2を取ります。現在、F#の測定単位機能に関する投稿を読んでいますが、F#のような言語を使用したことはありません。好きなことをしながら物理学について何かを学ぶことができるように、アプリケーションを書くのに適しているでしょうか?
運動学、平面運動、ニュートンの法則、重力、仕事、エネルギー、運動量、衝動などのコマンドラインアプリケーション(入力を必要とせずに実行できるだけでなく、答えを吐き出すアプリケーションも)に興味がある、粒子のシステム、回転運動学と力学、角運動量、静的平衡、振動運動、波動、音、物理光学、静電学、ガウスの法則、電界と電位、静電容量、抵抗、DC回路、磁場、アンペアの法則、インダクタンス。
F#に興味があるのは、言語が提供する測定単位機能のためです。
解決
偏った意見では、F#は物理学に理想的です。寸法分析と呼ばれる測定単位と呼ばれる機能があり、間違えた場合にエラーを提供します。たとえば、次のように記述した場合:
let distance : float<meters> = gravity * 3.0<seconds>
重力は<!> lt;であるため、コンパイルエラーが発生します。メートル/秒^ 2 <!> gt; <!> ltではありません。メートル<!> gt;。これにより、物理学に関連するプログラミングエラーの多くを防ぎます。
詳細については、 Andrew Kennedyのブログをご覧ください。
他のヒント
ブックコールの導入に乗りました<!> quot; F#for sciences <!> quot; (イントロは無料で利用できます)、F#はこの種のフィールドに非常によく適応しているように見えるので、フィールドへの良い入門のようです。
紹介をご覧ください。
http://www.ffconsultancy.com/products/fsharp_for_scientists/
(いいえ、著者とは関係ありません;-)
はい(どの言語でも)といいえ(Pythonを使用しているように、将来の同僚が使用するものを学習します)。興味深いことは、要塞です。
次元分析について:私の物理学の教授の一人がかつて与えた楽しい計算法:与えられたオーブンで1ポンドの七面鳥を完全に調理するのに1時間かかることを考えると、2ポンドの七面鳥を調理するのにどれくらい時間がかかりますか同じオーブン?
まあ、次元分析は示しています
(1)七面鳥を調理するために必要な熱エネルギーの総量は七面鳥の質量に比例し、それ自体はその体積に比例し、それ自体はその立方体の平均に比例する<!> quot; radius <!> quot;
すなわち
必要な調理熱エネルギー= k1 *(turkeyRadius <!> quot; ^ 3)== <!> gt;単位:m ^ 3 * k(k1単位はJ / m ^ 3)
(2)オーブンから提供される熱エネルギーの合計量は、七面鳥の表面に調理時間を掛けたものに比例すること、
すなわち
オーブンによって提供される熱= k2 *時間*(turkeyRadius ^ 2)(k2単位はJ / s / m ^ 2)
(1)=(2)を使用すると、次のようになります
時間= k1 / k2 * turkeyRadius ^(3/2)
i.e
-調理時間は半径に比例します^ 3/2
-turkeyRadiusが質量の3乗根に比例する場合、
調理時間= k3 * sqrt(mass)
したがって、2ポンドの七面鳥を調理するにはsqrt(2)倍の時間がかかり、結果は計算なしで得られます-次元分析のみ。
はい、クリス・スミスが彼の応答で言ったように、F#は関数型プログラミングを構築するための素晴らしい方法です。私は、F#を使用して、物理学、工学、生物学に関する広範な議論の構築に取り組んでいます。自分のような学生からの入力を確実に使用できます。現実の問題を考慮しないプログラミングは、プログラミングの1つの方法です。成功するもう1つの方法は、コンピューターを使用している人々だけが使用するソリューションを提供することです。確かに別の方法で富を築く方法です。
F#は、物理学などの知識ドメイン用に作成されています。
Fsharpは1つの選択肢です。より長期的なメリットがあるかもしれないスキルを学びたいのなら、なぜPythonを学ばないのでしょうか。また、指先にはnumpyとscipyもあります。
コンピューター言語を学んでも物理学は教えられません。どの言語でプログラムを書いても物理学を学ぶことができます。
次元解析は物理学の問題を扱うのにかなり便利なツールであり、<!> quot;さらには間違っていません<!> quot;から離れることができます。
どこかでユニットを間違えたので、10 ^ 34のファクターで間違った答えを得ることにいつも邪悪な喜びを感じています;-)