MATLAB crashed when invoking symsum

1 回表示 (過去 30 日間)
Maristie
Maristie 2017 年 5 月 4 日
コメント済み: Maristie 2017 年 5 月 9 日
The minimal example:
symsum(log(nchoosek(100, x)), x, 0, 100)
I've got the sum using `for` statement just in less than 1s.
But when it comes to symsum, MATLAB just crashes.
I've tried this code both on my own machine (Debian 9.0, R2016b) and MATLAB online, but results are just the same.
Could you please help me out?
Thanks!

採用された回答

Wilson A N
Wilson A N 2017 年 5 月 9 日
This is probably because 'symsum' is trying to find some closed expression as an answer and it is unable to do so. If you use 'sum', it will try this out numerically and hence doesn't give an error. You can maybe try out the following command:
>>sum(subs(log(nchoosek(100, x)), x, 0:100))
  2 件のコメント
Walter Roberson
Walter Roberson 2017 年 5 月 9 日
Right. symsum() should only be used if you are trying to find a formula for the summation, not if you just want to add a number of terms together. To add terms together, generate the list of terms and sum() them, the way Wilson A N shows.
Maristie
Maristie 2017 年 5 月 9 日
Thanks! It works!

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File Exchange数学 についてさらに検索

タグ

製品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!