estimating pi with special equation

Hello,
I am in an intro to matlab course and there is a homework problem in which we must estimate pi with this given equation:
We are supposed to input the value of a certain n inputs which determines the number of terms used.
here is my code so far.
format long
format long
n=input('please input the number of terms: ')
pie(1)=sqrt(2);
for i=[1:n]
pie(i+1)=(sqrt(2+pie(i)));
end
pievalue=4./pie;
disp(pievalue(n))
Usually, the higher your input number is, the closer your answer would approach to pi. unfortunatelty, my answer approaches 2 for some reason. Can anyone help me fix this?

Answers (1)

Ameer Hamza
Ameer Hamza on 11 Nov 2020
Edited: Ameer Hamza on 11 Nov 2020
Here is correct code, compare it with yours to see the mistake
format long
n=input('please input the number of terms: ')
pie(1)=sqrt(2);
for i=[1:n]
pie(i+1)=(sqrt(2+pie(i)));
end
pievalue=2^(n+2)./prod(pie);
disp(pievalue)

2 Comments

thank you very much, do you mind explaining that second to last line? why was mine wrong? why do you need to raise 2 to the power of n plus 2 and also divide by the product of the vector?
Because on RHS of the equation all the terms are being multiplied. There are (n+1) 2s in the denominator. So if you re-arrange the equation to find the value of pi, you will get the expression used in my code.

Sign in to comment.

Asked:

on 11 Nov 2020

Commented:

on 13 Nov 2020

Community Treasure Hunt

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

Start Hunting!