SetDelayed :: Write ...在模块中受保护,用于递归声明的函数

时间:2015-04-23 20:07:51

标签: recursion wolfram-mathematica mathematical-expressions

以下代码导致a SetDelayed :: write:" Beta [row_Integer,col_Integer]中的Tag Beta受保护。"由Mathematica输出。 我看不出原因。

我选择的函数定义是否适用于' b'的三个不同的和递归声明的情况。或者是错误的原因?

Beta[row_Integer, col_Integer] := Module[
    {l1, l2},
    l1 = -1;
    l2 = 2;

    b[m_, r_] := Which[m == 0 && r == 0, 1,
                       m == 0 && r != 0, Sum[a[[k]]*Sum[b[0, s]*k^(r - s)*Binomial[r, s], {s, 0, r - 1}],{k, l1,l2}]/(2^(r + 1) - 2)
                       m != 0 && r != 0, Sum[Binomial[r, i]*m^i*b[0, r - i], {i, 0, r}]];
    b[row,col]
];

1 个答案:

答案 0 :(得分:2)

有一个名为Beta的内置函数。

尝试调用您的函数Bet,看看它是否有效。