次のループがあります
syms k m
summ = symsum(k^2,k,1,m)
for j=1:100
summ = subs(symsum((m-j)^2*summ,m,j+1,k),k,m);
end
R2014a、W7、64bで計算するのに約600秒かかります。Mathematica での同等の計算には 60 秒かかります。結果は同じですが、違いがあります。すべての合計 (この場合は 100 の合計) の特性の 1 つは、半分良い方法で因数分解できることです。Mathematica は,そうするように指示されていないので,デフォルトではそれを因数分解しません.しかし、symsum は合計をチェックすることでそれを行っており、それが速度低下の原因になっていると思います。
同意しますか?はいの場合、出力を単純化しないように symsum に指示する方法はありますか? いいえの場合、高速化する方法はありますか?Mathematica よりも Matlab でやりたいと思っています。