Trying to make symsum work.

5 vues (au cours des 30 derniers jours)
Jacob Oleshchuk
Jacob Oleshchuk le 27 Nov 2018
Commenté : Walter Roberson le 27 Nov 2018
I am having problems getting symsum to calculate the following sumation within this equation:
example.PNG
I am using the following code to get pi:
function piram
%approximates and prints pi with Ramanujan's formula
%called as piram or piram()
%doesn't return a value, but a print
k=sym('k');
sumpart=symsum((factorial(4*k)*(1103+26390*k))/(((factorial(k))^4)*(396^(4*k))),k,0,inf);
inverted=sumpart*((2*sqrt(2))/9801);
approxpi=1/inverted;
fprintf('Using Ramanujan''s formula, a good approximation is %.6f\n',approxpi)
end
Can anyone help with this?
  1 commentaire
Jacob Oleshchuk
Jacob Oleshchuk le 27 Nov 2018
Sidenote: My error occurs within the symsum

Connectez-vous pour commenter.

Réponse acceptée

Steven Lord
Steven Lord le 27 Nov 2018
If the only factorial function that appears when you execute:
which -all factorial
is the one included in MATLAB, you probably don't have Symbolic Math Toolbox installed. Check the output of the ver function to test whether you have it installed. If you don't have Symbolic Math Toolbox installed, I would have expected the sym or syms calls to error before you even reached the line where you called symsum, but it's possible you've written your own functions named sym or syms that are being used instead of the versions from Symbolic Math Toolbox.
If what you posted in response to madhan ravi's question was the output of which factorial (without the -all flag) try it with the -all flag and show us what that returns.
  4 commentaires
Jacob Oleshchuk
Jacob Oleshchuk le 27 Nov 2018
I have tried to install the Symbolic Toolbox to no avail as the 'unzipper' (for lack of better term) has an error at the very end of execution. However, I believe that if this works for everyone else who DOES have that program extension, I should just be able to include a note with my project that informs my teacher that they require the Symbolic Toolbox to run the final function of my program (piram). Thanks much.
Walter Roberson
Walter Roberson le 27 Nov 2018
As you are a student you might be able to test your code on MATLAB Online .

Connectez-vous pour commenter.

Plus de réponses (1)

madhan ravi
madhan ravi le 27 Nov 2018
function piram
syms k
sumpart=symsum((factorial(4*k)*(1103+26390*k))/(((factorial(k))^4)*(396^(4*k))),k,0,inf);
inverted=sumpart*((2*sqrt(2))/9801);
approxpi=1/inverted;
fprintf('Using Ramanujan''s formula, a good approximation is %.6f\n',approxpi)
end
  15 commentaires
Walter Roberson
Walter Roberson le 27 Nov 2018
What shows up for
which factorial(k)
Question: is it possible that you have Maple installed but not the MATLAB Symbolic Toolbox ?
madhan ravi
madhan ravi le 27 Nov 2018
@Jacob please respond to sir Walters question

Connectez-vous pour commenter.

Produits


Version

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by