使用 mupadmex 时出错,sym/symsum 中出错(计算定积分)
Error using mupadmex, Error in sym/symsum (Evaluate a definite integral)
我正在尝试使用以下代码计算定积分:
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
。有什么想法吗?
我找到了解决方案。它包括使用 gamma(k+n-m+1) 来计算 (k+n-m)!,因为在执行符号变量的阶乘时存在错误。
我正在尝试使用以下代码计算定积分:
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
。有什么想法吗?
我找到了解决方案。它包括使用 gamma(k+n-m+1) 来计算 (k+n-m)!,因为在执行符号变量的阶乘时存在错误。