2015-07-25 3 views
0

Я пытаюсь оценить определенный интеграл, используя следующий код:Ошибка при помощи mupadmex, ошибки в сим/symsum (Оцените определенный интеграл)

m=4; 
t=4; 
n=5; 
P=10; 
reset(symengine) 
syms x; 
syms k; 

mean=int(log(1+P*x/t)*symsum(factorial(k)*x^(n-m)*exp(-x)/factorial(k+n-m)*feval(symengine,'laguerreL',n-m,k,x)*feval(symengine,'laguerreL',n-m,k,x),k,[0,m-1]) ,x,0,inf) 

Но это дает следующее сообщение об ошибке:

Error using mupadmex 
    Error in MuPAD command: The number of arguments is incorrect. [has] 
    Evaluating: sum 

    Error in sym/symsum (line 114) 
    rSym = mupadmex('symobj::map',fsym.s,'symobj::symsum',x.s,a.s,b.s); 

    Error in Untitled2 (line 32) 
    mean=int(log(1+P*x/t)*symsum(factorial(k)*x^(n-m)*exp(-x)/factorial(k+n-m)*feval(symengine,'laguerreL',n-m,k,x)*feval(symengine,'laguerreL',n-m,k,x),k,[0,m-1]) ,x,0,inf) 

Однако, когда я оцениваю интеграл без некоторых функций:

mean=int(log(1+P*x/t)*symsum(feval(symengine,'laguerreL',n-m,k,x)*feval(symengine,'laguerreL',n-m,k,x),k,[0,m-1]) ,x,0,inf) 

я получаю ответ, который Inf. Есть идеи?

ответ

2

Я нашел решение. он состоит в использовании гамма (k + n-m + 1) для вычисления (k + n-m) !, так как при выполнении факториала символических переменных возникает ошибка.