MATLAB crashed when invoking symsum

1 visualizzazione (ultimi 30 giorni)
Maristie
Maristie il 4 Mag 2017
Commentato: Maristie il 9 Mag 2017
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!

Risposta accettata

Wilson A N
Wilson A N il 9 Mag 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 Commenti
Walter Roberson
Walter Roberson il 9 Mag 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 il 9 Mag 2017
Thanks! It works!

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su 数学 in Help Center e File Exchange

Prodotti

Community Treasure Hunt

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

Start Hunting!