MATLAB crashed when invoking symsum

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!

 Respuesta aceptada

Wilson A N
Wilson A N el 9 de Mayo de 2017

2 votos

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 comentarios

Walter Roberson
Walter Roberson el 9 de Mayo de 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.
Maristie
Maristie el 9 de Mayo de 2017
Thanks! It works!

Iniciar sesión para comentar.

Más respuestas (0)

Productos

Etiquetas

Preguntada:

el 4 de Mayo de 2017

Comentada:

el 9 de Mayo de 2017

Community Treasure Hunt

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

Start Hunting!