F#是否适合物理应用?

时间:2020-03-06 15:05:13  来源:igfitidea点击:

我讨厌物理,但是我喜欢软件开发。当我在感恩节后回到学校时,在完成这门可怕的事情之前,我将再学习两个季度的物理课程。我目前正在阅读有关Funits of Measurement功能的帖子,但是我从未使用过F#之类的语言。编写应用程序是否合适,这样我也许可以在做我喜欢的事情的同时学习一些物理知识?

我对诸如运动学,平面运动,牛顿定律,引力,功,能量,动量和冲量,粒子,旋转运动学和动力学,角动量,静态平衡,振荡运动,波动,声音,物理光学,静电学,高斯定律,电场和电势,电容,电阻,直流电路,磁场,安培定律和电感。

我对Fis感兴趣的原因是该语言提供的度量单位功能。

解决方案

学习任何一种计算机语言都不会教我们物理,并且我们可以通过以任何语言编写程序来学习物理。

尺寸分析是解决物理问题的便捷工具,它可以使我们远离"甚至没有错"。

我总是会因错误将答案错误率提高10 ^ 34而获得一定的反感,因为我在某处弄错了我的单元;-)

我介绍了名为" Ffor科学家"的书(该介绍是免费的)的介绍,这似乎是该领域的不错的介绍,因为Fseems非常适合这种领域。

我们可能需要看一下介绍。

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

(不,我与作者没有关系;-)

Fsharp是一种选择。如果我们想学习一项可能对我们更长期有益的技能,那么为什么不学习python。然后,我们也将触手可及。

是(任何语言都是)和否(了解未来的同事将使用什么,例如他们可能使用python。)。一个有趣的地方是堡垒。

在我的偏见中,Fis是物理的理想选择。它具有一个称为"计量单位"的功能,可以为我们进行尺寸分析,如果弄错了会出现错误。例如,如果我们编写:

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

由于重力是<米/秒^ 2>而不是<米>,因此会产生编译错误。这样可以避免大量与物理相关的编程错误。

有关更多信息,请查看Andrew Kennedy的博客。

关于尺寸分析:我的一位物理学教授曾经给出过一个有趣的演算技巧:鉴于在给定的烤箱中完美地煮一磅火鸡需要一个小时,所以同一只烤箱煮两磅的火鸡需要多长时间?

好吧,尺寸分析表明

(1)煮火鸡所需的总热量与火鸡的质量成正比,火鸡的质量与火鸡的体积成正比,而火鸡的质量与火鸡的平均"半径"的立方成正比
IE
需要的烹饪热能= k1 *(turkeyRadius" ^ 3)==>单位:m ^ 3 * k(其中k1单位是J / m ^ 3)

(2)烤箱提供的总热量与火鸡的表面乘以煮熟的时间成正比,
IE
烤箱提供的热量= k2 时间(turkeyRadius ^ 2)(其中k2单位为J / s / m ^ 2)

然后通过使用(1)=(2),我们可以获得
时间= k1 / k2 *土耳其半径^(3/2)

IE
烹饪时间与半径^ 3/2成正比
鉴于turkeyRadius与质量的立方根成比例,我们得到
烹饪时间= k3 * sqrt(质量)

因此,煮2磅的火鸡将花费sqrt(2)倍的时间,而获得的结果完全不需要进行尺寸分析。

是的,正如Chris Smith在答复中所说的那样,Fis是一种构建函数式编程的好方法。我正在使用F#进行有关物理,工程和生物学的广泛讨论。我当然可以使用像你这样的学生的意见。不考虑现实生活中的问题的编程是编程的一种方式。成功的另一种方法是提供仅由使用计算机的人使用的解决方案,这当然是另一种可行的方法,也是一种积累财富的方法。

Fis适用于诸如物理之类的知识领域。