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!
Students have asked these similar questions
Rose Par posted Apr 5, 2025 9:01 PM Subscribe To: Store Owner From: Rose Par, Manager Subject: Decision About Selling Custom Flower Bouquets Date: April 5, 2025 Our shop, which prides itself on selling handmade gifts and cultural items, has recently received inquiries from customers about the availability of fresh flower bouquets for special occasions. This has prompted me to consider whether we should introduce custom flower bouquets in our shop. We need to decide whether to start offering this new product. There are three options: provide a complete selection of custom bouquets for events like birthdays and anniversaries, start small with just a few ready-made flower arrangements, or do not add flowers. There are also three possible outcomes. First, we might see high demand, and the bouquets could sell quickly. Second, we might have medium demand, with a few sold each week. Third, there might be low demand, and the flowers may not sell well, possibly going to waste. These outcomes…
Consider the state space model X₁ = §Xt−1 + Wt, Yt = AX+Vt, where Xt Є R4 and Y E R². Suppose we know the covariance matrices for Wt and Vt. How many unknown parameters are there in the model?
Business Discuss
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.
Similar questions
SEE MORE QUESTIONS
Recommended textbooks for you
Text book image
Algebra & Trigonometry with Analytic Geometry
Algebra
ISBN:9781133382119
Author:Swokowski
Publisher:Cengage
Text book image
Mathematics For Machine Technology
Advanced Math
ISBN:9781337798310
Author:Peterson, John.
Publisher:Cengage Learning,
Text book image
Elementary Algebra
Algebra
ISBN:9780998625713
Author:Lynn Marecek, MaryAnne Anthony-Smith
Publisher:OpenStax - Rice University
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
Trigonometry (MindTap Course List)
Trigonometry
ISBN:9781305652224
Author:Charles P. McKeague, Mark D. Turner
Publisher:Cengage Learning
Text book image
Glencoe Algebra 1, Student Edition, 9780079039897...
Algebra
ISBN:9780079039897
Author:Carter
Publisher:McGraw Hill
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