Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

The value of n can be estimated from the following equation: pi^3/32 = sigma_n=0

ID: 3855425 • Letter: T

Question

The value of n can be estimated from the following equation: pi^3/32 = sigma_n=0^infinity (-1)^n/(2n + 1)^3 Write a MATLAB program in a script file that determines pi from the previous equation by adding terms until the value of pi determined by your program approaches the value of the special variable pi in MATLAB to within 14 decimal digits. Create a variable called error that refers to the absolute difference between the value of pi calculated from your program and the value of the special variable pi. The loop should end if this error value reaches 1. 0E-6 or less. Generate a counter for the loop that determines the number of passes the loop takes until it ends. This number is called the number of iterations. Use fprintf to display the n value calculated by the program in each iteration as: iter = 2, Value of PI = x.xxxxxxxxxx iter = 3, Value of PI = x.xxxxxxxxxx iter = 4, Value of PI = x.xxxxxxxxxx iter = 5, Value of PI = x.xxxxxxxxxx At the end of the loop, the program must display the result using fprintf as: The program takes XXX iterations to reach a value of PI = XX.XXXXXXX with an error of XXXXEXX Where ********* is a line of asterisks, XXX is the number of iterations displayed as an integer value, XX.XXXXX is the value of the pi displayed in f format with 10 decimal digits, and XXXXEXX is the error displayed in e format with 6 decimal digits.

Explanation / Answer

val = 0;
iter = 1;
val = val + 1;
while(1)
val = val + ((-1)^iter) / (2 * iter + 1)^3;
iter = iter + 1;
temp = (val * 32)^(1/3);
fprintf('iter = %d, Value of PI = %.10f ', iter, temp);
error = abs(temp - pi);
if error <= 1.0E-6
break;
end
end

fprintf('*************************************************** ');
fprintf('The program takes %d iterations to reach a value of PI = %.10f with an error of %.6f ', iter, temp, error);