0

次のコードを使用して定積分を評価しようとしています:

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。何か案が?

4

1 に答える 1

2

解決策を見つけました。シンボリック変数の階乗を実行するときにバグがあるため、gamma(k+n-m+1) を使用して (k+nm)! を計算します。

于 2015-08-25T15:01:32.740 に答える