Concept explainers
To write:
A menu-driven program to investigate the constant
Answer to Problem 29E
Solution:
The script file is,
clc
clear all
close all
% MATLAB code to calcualte the value of pi by different options.
%script file.
select = menu('select a option for pi', 'Machin''s formula', 'Leibniz''s formula:n-terms','Leibniz''s formula:good approximation','Exit');
%select the different options in menu.
while select == 0
disp('not valid! please choose one of the choices')
select = menu('select a option for pi', 'Machin''s formula', 'Leibniz''s formula:n-terms','Leibniz''s formula:good approximation','Exit');
end
end
% end of function
%The script file should be placed in the same folder.
The script file is,
% MATLAB code to calcualte the value of pi by Machinformula.
%script file.
function machinformula
pivalues = 4*(4*atan(1/5)-atan(1/239));
%define the variable pivalues.
fprintf('the value of pi using Machin''s formula is%.4f\n', pivalues)
%print the value of pi.
end
% end of function
%The script file should be placed in the same folder.
The script file is,
% MATLAB code to get the value of integer.
%script file.
function out = valuen
out = input('A positive integer for n is entered:');
%the value of positive integer is entered.
while out˜= int32(out)||out<=0
out = input('not valid! A posiytive integer for n is entered:');
end
end
% end of function
%The script file should be placed in the same folder.
The script file is,
% MATLAB code to calcualte the value of pi by leibniz's formula for the specific terms.
%script file.
function leibn
out = valuen;
numerat = -4.*cumprod(-ones(1, out));
%define the variable numerat as numerator.
denomina = 1:2:2*out;
%define the variable denomina as denominator.
pievalues = sum((numerat)./(denomina));
fprintf('the approximation of Leibniz for pi with %d terms is %.4f\n', out, pievalues);
%print the value of pi.
end
% end of function
%The script file should be placed in the same folder.
The script file is,
% MATLAB code to calcualte the value of pi by leibniz's formula till the good apprroxiamtion is found..
%script file
function leibgood
error = 0.01;
N = 1;
S = 2;
runsum = 0;
difference = 1;
while error < difference
term = (-1)^S*4/N;
temp = runsum;
runsum = runsum + term;
difference = abs(temp-runsum);
N = N+2;
S = S+1;
end
fprintf('An approximation of pi using Leibniz ''series within %.2f is %.2f\n', error, runsum)
%print the value of pi.
end
% end of function
%The script file should be placed in the same folder.
The main script file is,
% MATLAB code to calcualte the value of pi.
%script file.
select = -1;
while select ˜= 4
select = pivalues;
switch select
%select the different options to get the value of pi.
case 1
machinformula
case 2
leibn
case 3
leibgood
end
end
% end of function
%The script file should be placed in the same folder.
Explanation of Solution
Machin’s formula is given as,
Leibniz’s formula is given as,
The approximation till the fourth term is given as,
MATLAB Code:
% MATLAB code to calcualte the value of pi by different options.
%script file.
function select = pivalues
select = menu('select a option for pi', 'Machin''s formula', 'Leibniz''s formula:n-terms','Leibniz''s formula:good approximation','Exit');
%select the different options in menu.
while select == 0
disp('not valid! please choose one of the choices')
select = menu('select a option for pi', 'Machin''s formula', 'Leibniz''s formula:n-terms','Leibniz''s formula:good approximation','Exit');
end
end
% end of function
%The script file should be placed in the same folder.
% MATLAB code to calcualte the value of pi by Machinformula.
%script file.
function machinformula
pivalues = 4*(4*atan(1/5)-atan(1/239));
%define the variable pivalues.
fprintf('the value of pi using Machin''s formula is%.4f\n', pivalues)
%print the value of pi.
end
% end of function
%The script file should be placed in the same folder.
% MATLAB code to get the value of integer.
%script file.
function out = valuen
out = input('A positive integer for n is entered:');
%the value of positive integer is entered.
while out˜= int32(out)||out<=0
out = input('not valid! A posiytive integer for n is entered:');
end
end
% end of function
%The script file should be placed in the same folder.
% MATLAB code to calcualte the value of pi by leibniz's formula for the specific terms.
%script file.
function leibn
out = valuen;
numerat = -4.*cumprod(-ones(1, out));
%define the variable numerat as numerator.
denomina = 1:2:2*out;
%define the variable denomina as denominator.
pievalues = sum((numerat)./(denomina));
fprintf('the approximation of Leibniz for pi with %d terms is %.4f\n', out, pievalues);
%print the value of pi.
end
% end of function
%The script file should be placed in the same folder.
% MATLAB code to calcualte the value of pi by leibniz's formula till the good apprroxiamtion is found..
%script file
function leibgood
error = 0.01;
N = 1;
S = 2;
runsum = 0;
difference = 1;
while error < difference
term = (-1)^S*4/N;
temp = runsum;
runsum = runsum + term;
difference = abs(temp-runsum);
N = N+2;
S = S+1;
end
fprintf('An approximation of pi using Leibniz ''series within %.2f is %.2f\n', error, runsum)
%print the value of pi.
end
% end of function
%The script file should be placed in the same folder.
% MATLAB code to calcualte the value of pi.
%script file.
select = -1;
while select ˜= 4
select = pivalues;
switch select
%select the different options to get the value of pi.
case 1
machinformula
case 2
leibn
case 3
leibgood
end
end
% end of function
%The script file should be placed in the same folder.
Save the MATLAB scripts with names, pivalues.m, machinformula.m, valuen.m, leibn.m, leibgood.m and main.m in the current folder. Execute the script by typing the script name at the command window to generate result.
Result:
The results is,
Therefore, the result and script files are stated above.
Want to see more full solutions like this?
Chapter 6 Solutions
MATLAB: A Practical Introduction to Programming and Problem Solving
- Algebra & Trigonometry with Analytic GeometryAlgebraISBN:9781133382119Author:SwokowskiPublisher:CengageMathematics For Machine TechnologyAdvanced MathISBN:9781337798310Author:Peterson, John.Publisher:Cengage Learning,