【发布时间】:2015-08-29 17:46:13
【问题描述】:
如何在 Haskell 中定义这样的函数:
x(0) = 1
x(2*k) = sin(k) * cos(k)
x(2*k+1) = cos(k/2) - tan(2*k)
Haskell 不允许在其参数中定义带有计算的函数。它将引发“模式中的解析错误”错误。
如果我尝试用x(k) 定义所有内容,如下所示:
x(k) = sin(k/2) * cos(k/2)
x(k) = cos((k/2-1)/2) - tan(k/2-1)
我将为x(k) 定义两个无效的定义。
【问题讨论】:
-
你忘记了 any 号码
k可以描述为2*k+1!另外n+k模式默认禁用,据我所知n*k模式不存在。
标签: haskell