4

物理は嫌いですが、ソフトウェア開発は好きです。感謝祭が終わって学校に戻ったら、恐ろしいことを終わらせる前に、さらに 2/4 の物理学を履修する予定です。現在、F# 測定単位機能に関する投稿を読んでいますが、F# のような言語を使用したことはありません。好きなことをしながら物理学について学ぶことができるように、アプリケーションを作成するのに適しているでしょうか?

運動学、平面運動、ニュートンの法則、重力、仕事、エネルギー、運動量と衝動、粒子、回転運動学と力学、角運動量、静的平衡、振動運動、波動、音、物理光学、静電気、ガウスの法則、電場と電位、静電容量、抵抗、直流回路、磁場、アンペアの法則、インダクタンス.

私が F# に興味を持った理由は、この言語が提供する測定単位の機能にあります。

4

7 に答える 7

11

私の偏った意見では、F# は物理学にとって理想的です。Units of Measure と呼ばれる機能があり、次元分析を行い、間違っているとエラーが発生します。たとえば、次のように記述します。

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

重力は < メートル/秒 ^2 > であり < メートル > ではないため、コンパイル エラーが発生します。これにより、物理関連のプログラミング エラーを大幅に防ぐことができます。

詳細については、 Andrew Kennedy のブログをご覧ください。

于 2008-10-03T17:56:48.980 に答える
5

「科学者のためのF#」という本の紹介に乗ったが(紹介文は無料で読める)、F#はこの種の分野に非常によく適応しているように見えるので、この分野への良い入門書になると思われる.

イントロダクションをご覧になるとよいでしょう。

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

(作者様とは一切関係ありません(;_;))

于 2008-10-03T17:24:31.747 に答える
2

次元分析について : 私の物理学の教授の 1 人によって与えられた楽しい微積分のトリック: 与えられたオーブンで 1 ポンドの七面鳥を完全に調理するのに 1 時間かかるとすると、2 ポンドの七面鳥を調理するのにかかる時間は同じオーブンです?

さて、次元分析は示しています

(1) 七面鳥を調理するために必要な熱エネルギーの総量は、七面鳥の質量に比例し、それ自体はその体積に比例し、それ自体はその平均「半径」の 3 乗に比例する、
すなわち
調理熱必要なエネルギー = k1 * (turkeyRadius" ^3) ==> 単位: m^3 * k (k1 単位は J / m^3)

(2) オーブンから供給される熱エネルギーの総量は、七面鳥の表面に調理時間を掛けた値に比例する、
つまり
、オーブンから供給される熱 = k2 * 時間 * (七面鳥の半径 ^ 2) (ここでk2 単位は J / s / m^2 )

次に、 (1) = (2) を使用して、
time = k1 / k2 * turkeyRadius ^ (3/2)を取得します。

すなわち
- 調理時間は半径 ^ 3/2 に比例します
- 七面鳥の半径が質量の立方根に比例すると仮定すると、
調理時間 = k3 * sqrt(mass)が得られます。

したがって、2 ポンドの七面鳥肉を調理するには sqrt(2) 倍の時間がかかり、結果は計算なしで取得され、次元分析のみが行われます。

于 2008-10-04T14:53:14.437 に答える
2

はい、Chris Smith が回答で述べたように、F# は関数型プログラミングを構築するための優れた方法です。F# を使用して、物理学、工学、生物学に関する広範な議論を構築することに取り組んでいます。私は確かにあなたのような学生からの入力を使用できます. 現実の問題を念頭に置いていないプログラミングは、プログラミングの 1 つの方法です。成功するもう 1 つの方法は、コンピューターを使用する人々だけが使用するソリューションを提供することです。これは確かに別の方法であり、富を築く方法です。

F# は、物理学などの知識領域向けに作成されています。

于 2009-03-31T23:58:49.243 に答える
2

はい (どの言語でも構いません) といいえ (おそらく Python を使用するように、将来の同僚が何を使用するかを学んでください)。興味深いのはFortressです。

于 2008-10-03T17:44:11.270 に答える
1

Fsharp は 1 つの選択肢です。より長期的な利益をもたらす可能性のあるスキルを習得したい場合は、Python を学んでみませんか。また、指先で numpy と scipy も使用できます。

于 2008-10-03T17:29:51.657 に答える
-1

コンピューター言語を学んでも物理学は学べません。どんな言語でプログラムを書いても物理学を学ぶことができます。

次元解析は、物理問題のかなり便利なツールであり、「間違っていない」ことからあなたを遠ざけることができます。

どこかで単位を間違えていたので、答えを 10^34 倍も間違えることに、私はいつもある種のひねくれた喜びを得ていました ;-)

于 2008-10-03T17:17:25.770 に答える