Matlab, Fourth Edition: A Practical Introduction to Programming and Problem Solving
Matlab, Fourth Edition: A Practical Introduction to Programming and Problem Solving
4th Edition
ISBN: 9780128045251
Author: Stormy Attaway Ph.D. Boston University
Publisher: Elsevier Science
bartleby

Concept explainers

bartleby

Videos

Question
Book Icon
Chapter 6, Problem 28E
To determine

To write:

A menu-driven program to investigate the constant π for the given different given options.

Expert Solution & Answer
Check Mark

Answer to Problem 28E

Solution:

The script file is,

% MATLAB code to calcualte the value of pi.

%script file.

select = pivalues;

while select ˜= 4

switch select

%select the different options to get the value of pi.

case 1

machinformula

%print the result by usin Machin's formula.

case 2

leibn

%get approximate by using Leibniz.

case 3

leibgood

%approximate pi value using Leibniz untill good approximation.

end

select = pivalues;

end

% end of function

%The script file should be placed in the same folder.

The function file is,

% MATLAB code to calcualte the value of pi by different options.

%function 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 select one of the options')

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 function file should be placed in the same folder.

The function file is,

% MATLAB code to calcualte the value of pi by Machinformula.

%function file.

function machinformula

formula = (4*atan(1/5)-atan(1/239));

%define the variable pivalues.

fprintf('Using the MATLAB constant, pi = %.6f\n', pi)

fprintf('the value of pi using Machin''s formula, pi = %.6f\n', 4*formula)

%print the value of pi.

end

% end of function

%The function file should be placed in the same folder.

The function file is,

% MATLAB code to calcualte the value of pi by leibniz's formula for the specific terms.

%function file.

function leibn

fprintf('Approximate value of pi by using Leibniz'' formula\n')

n = askforn;

approxvaluepi = 0;

denominator = -1;

signterm = -1;

for i = 1:n

denominator = denominator + 2;

signterm = -signterm;

approxvaluepi = approxvaluepi + signterm * (4/denominator);

end

fprintf('An approximation of pi with n = %d is %.2f\n', n, approxvaluepi)

end

function out = askforn

inputnum = input('A positive integer for n is entered: ');

num2 = int32(inputnum);

while num2 ˜= inputnum || num2 < 0

inputnum = input('Not Valid! Enter a positive integer:');

num2 = int32(inputnum);

end

out = inputnum;

end

% end of function

%The function file should be placed in the same folder.

The function 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.

Explanation of Solution

Machin’s formula is given as,

π4=4arctan(15)arctan(1239)π=3.1416

Leibniz’s formula is given as,

π=4143+4547+49411+...

The approximation till the fourth term is given as,

π=4143+4547=2.8952

MATLAB Code:

% MATLAB code to calcualte the value of pi.

%script file.

select = pivalues;

while select ˜= 4

switch select

%select the different options to get the value of pi.

case 1

machinformula

%print the result by usin Machin's formula.

case 2

leibn

%get approximate by using Leibniz.

case 3

leibgood

%approximate pi value using Leibniz untill good approximation.

end

select = pivalues;

end

% end of function

%The script file should be placed in the same folder.

% MATLAB code to calcualte the value of pi by different options.

%function 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 select one of the options')

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 function file should be placed in the same folder.

% MATLAB code to calcualte the value of pi by Machinformula.

%function file.

function machinformula

formula = (4*atan(1/5)-atan(1/239));

%define the variable pivalues.

fprintf('Using the MATLAB constant, pi = %.6f\n', pi)

fprintf('the value of pi using Machin''s formula, pi = %.6f\n', 4*formula)

%print the value of pi.

end

% end of function

%The function file should be placed in the same folder.

% MATLAB code to calcualte the value of pi by leibniz's formula for the specific terms.

%function file.

function leibn

fprintf('Approximate value of pi by using Leibniz'' formula\n')

n = askforn;

approxvaluepi = 0;

denominator = -1;

signterm = -1;

for i = 1:n

denominator = denominator + 2;

signterm = -signterm;

approxvaluepi = approxvaluepi + signterm * (4/denominator);

end

fprintf('An approximation of pi with n = %d is %.2f\n', n, approxvaluepi)

end

function out = askforn

inputnum = input('A positive integer for n is entered: ');

num2 = int32(inputnum);

while num2 ˜= inputnum || num2 < 0

inputnum = input('Not Valid! Enter a positive integer:');

num2 = int32(inputnum);

end

out = inputnum;

end

% end of function

%The function 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.

Save the MATLAB script with name, main.m, and the function files with names machinformula.m, leibn.m, pivalues.m and leibgood.m in the current folder. Execute the program by typing the script name at the command window to generate result.

Result:

The results is,

Matlab, Fourth Edition: A Practical Introduction to Programming and Problem Solving, Chapter 6, Problem 28E , additional homework tip  1

Matlab, Fourth Edition: A Practical Introduction to Programming and Problem Solving, Chapter 6, Problem 28E , additional homework tip  2

Therefore, the result is stated above.

Want to see more full solutions like this?

Subscribe now to access step-by-step solutions to millions of textbook problems written by subject matter experts!
Knowledge Booster
Background pattern image
Statistics
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, statistics and related others by exploring similar questions and additional content below.
Recommended textbooks for you
Text book image
Algebra & Trigonometry with Analytic Geometry
Algebra
ISBN:9781133382119
Author:Swokowski
Publisher:Cengage
Text book image
Glencoe Algebra 1, Student Edition, 9780079039897...
Algebra
ISBN:9780079039897
Author:Carter
Publisher:McGraw Hill
Text book image
Functions and Change: A Modeling Approach to Coll...
Algebra
ISBN:9781337111348
Author:Bruce Crauder, Benny Evans, Alan Noell
Publisher:Cengage Learning
Text book image
Trigonometry (MindTap Course List)
Trigonometry
ISBN:9781337278461
Author:Ron Larson
Publisher:Cengage Learning
Text book image
Algebra: Structure And Method, Book 1
Algebra
ISBN:9780395977224
Author:Richard G. Brown, Mary P. Dolciani, Robert H. Sorgenfrey, William L. Cole
Publisher:McDougal Littell
Text book image
Elementary Geometry For College Students, 7e
Geometry
ISBN:9781337614085
Author:Alexander, Daniel C.; Koeberlein, Geralyn M.
Publisher:Cengage,
Mod-01 Lec-01 Discrete probability distributions (Part 1); Author: nptelhrd;https://www.youtube.com/watch?v=6x1pL9Yov1k;License: Standard YouTube License, CC-BY
Discrete Probability Distributions; Author: Learn Something;https://www.youtube.com/watch?v=m9U4UelWLFs;License: Standard YouTube License, CC-BY
Probability Distribution Functions (PMF, PDF, CDF); Author: zedstatistics;https://www.youtube.com/watch?v=YXLVjCKVP7U;License: Standard YouTube License, CC-BY
Discrete Distributions: Binomial, Poisson and Hypergeometric | Statistics for Data Science; Author: Dr. Bharatendra Rai;https://www.youtube.com/watch?v=lHhyy4JMigg;License: Standard Youtube License