我正在尝试创建一个用户定义的函数,该函数返回给定x和n的Irwin-Hall分布的值。
我已经成功地使用表格为每个n值计算了适当的值,并计算了Irwin-Hall系列的相应项。以我的理解,执行此操作的步骤与我的代码应该执行的操作相同。
Function IRWINHALLPDF(x As Double, n As Integer)
Dim IH As Double
Dim k As Integer
IH = 0
For k = 0 To n
IH = IH + (-1) ^ k * WorksheetFunction.Combin(n, k) * (x - k) ^ (n - 1) * WorksheetFunction.Sign(x - k)
Next k
IH = IH / (2 * WorksheetFunction.Fact(n - 1))
IRWINHALLPDF = IH
End Function
在工作表中使用时,该函数返回#VALUE!错误。似乎每个工作表函数在整个循环中都在接收正确的输入,因此我看不到为什么它会返回错误。
答案 0 :(得分:0)
Axel Richter的答案,符号功能出错
Function IRWINHALLPDF(x As Double, n As Integer) As Double
Dim IH As Double
Dim k As Integer
IH = 0
For k = 0 To n
IH = IH + (-1) ^ k * WorksheetFunction.Combin(n, k) * (x - k) ^ (n - 1) * Sgn(x - k)
Next k
IH = IH / (2 * WorksheetFunction.Fact(n - 1))
IRWINHALLPDF = IH
End Function