我不了解自然值(参数)的工作原理

时间:2019-11-26 03:01:26

标签: haskell

我不明白为什么“ logistic0”函数在实现时不需要参数,以及为什么没有必要在“ logistic”函数中将Natural值作为参数传递。另外,要计算的时间取决于ex1值,为什么呢?

logistic :: Num a => a -> a -> Natural -> a
logistic rate start = f
  where
    f 0 = start
    f n = rate * f (n - 1) * (1 - f (n - 1)) 

logistic0 :: Fractional a => Natural -> a
logistic0 = logistic 3.741 0.00079

ex1 :: Natural
ex1 = 10000

logistic0 ex1
```

1 个答案:

答案 0 :(得分:6)

这是工作中的部分应用程序。

  • logistic是一个带有三个参数的函数。
  • logistic 3.741是一个带有两个参数的函数,因为提供了第一个参数。
  • logistic 3.741 0.00079是一个带有一个参数的函数,因为提供了第一个和第二个参数。

换句话说,定义

logistic0 = logistic 3.741 0.00079

在等式上等同于

logistic0 x = logistic 3.741 0.00079 x