1

Следующий код приводит к SetDelayed :: write: «Бета бета в бета-версии [row_Integer, col_Integer] защищена». выход Mathematica. Я не вижу причины.SetDelayed :: Write ... защищен в модуле для рекурсивно объявленной функции

Является ли определение функции, которое я выбрал для трех разных и рекурсивно объявленных случаев для «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] 
]; 

ответ

2

Существует встроенная функция с именем Бета.

Попробуйте позвонить в свою функцию. Поставьте ставку и посмотрите, работает ли она.

+0

plus один. добавить, лучше начинать все свои собственные символы в нижнем регистре, чтобы избежать конфликтов – agentp