【发布时间】:2012-09-22 20:59:51
【问题描述】:
我即将开始一个模拟/建模项目。
假设我有一个类型为 A 的组件,其特征是一组数据(一个参数,如温度或压力、偏微分方程和一些边界条件等)和一个类型 B 的组件,其特征是一组不同的数据数据(不同或相同的参数,不同的偏微分方程和边界条件)。我们还假设将应用于每个组件的函数/方法是相同的(例如 Galerkin 方法)。
如果我要使用 FP 方法,每个组件都将被分解为数据部分和作用于数据的函数,以获得 PDE 的解决方案。假设参数是恒定的,这种方法对我来说似乎更简单。如果参数不是恒定的(例如,温度突然升高,因此不可能是不变的)怎么办?
解决参数可变性问题的最佳方法是什么?
我来自 C++/Fortran 背景,而且我不是专业程序员,所以请纠正我的任何错误。
【问题讨论】:
-
您的问题太模糊,无法给出好的答案。
-
好的,给我一点时间,让它更具体一点。
-
这类问题对本站来说不够实际或不够具体,您可能会在programmers SE.获得更好的运气
-
首先,对于真正习惯这两种方法的人来说,我不认为一个人比另一个人花费的时间特别少。其次,您可以例如使温度成为时间的函数(
temperature :: Time -> Double),或者使用我们必须模拟可变性的一些机制,或者具有局部可变性,或者只是简单的可变性(通过IORefs 等) .此外,Haskell 中的建模不一定是一方面是数据,另一方面是函数。您的数据可以嵌入函数!data Foo = Foo { f :: Int -> Int, g :: Double -> Double -> Double, somePair :: (Double, Double) } -
@Alp Mestanogullari:非常感谢您的回答!我不知道数据可以嵌入函数,这就是我真正追求的!我认为温度是时间的函数,但我将如何处理时间的可变性? (我将再次更改问题和标题,以便仅解决参数可变性的问题。如果我的问题最初过于模糊,我很抱歉,我是堆栈溢出的第一个计时器)。
标签: oop haskell functional-programming modeling mutable