MATLAB crashed when invoking symsum

1 view (last 30 days)
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!

Accepted Answer

Wilson A N
Wilson A N on 9 May 2017
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 Comments
Walter Roberson
Walter Roberson on 9 May 2017
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.

Sign in to comment.

More Answers (0)

Categories

Find more on 数学 in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!