In this problem we will investigate using adaptive quadrature to approximate a definite integral. The trapezoid rule can use used to approximate an integral I(f, a, b) = Så f(x) dx by I:(f,a, b) = (f(a) + f(b)) = Qab, which is called a quadrature rule. Adaptive quadrature on a given interval [a, b) proceeds as follows: %3D • calculate the midpoint c = t° • calculate Qab, the trapezoid rule approximation on [a, b] • calculate Qac, the trapezoid rule approximation on [a, c] • calculate Qeb, the trapezoid rule approximation on [c, b] approximate the error as |Qab – (Qac + Qcb)| • if the error approximation is less than ɛ, return the approximation Qac + Qcbi otherwise perform adaptive quadrature on [a, c] and also on [c, b] and return the sum of these two results as the approximation In this question we will study the function f(x) cos(x). %3D Write a program that defines a “math" (anonymous) function for f and another for the true integral of ƒ (where you can just do the integration by hand and hard code the result as, for example, If). The main program should then call a function get input which should • prompt the user for a value for a • prompt the user for a value for b (you may assume they enter a b such that a < b) • keep prompting the user and giving error messages until a positive value is entered for ɛ • return the values for a, b, and ɛ The main program should then call the function adaptive_quadrature which should • take in a function f, values for a and b, and a value for e • print an entry message • implement adaptive quadrature as described above, calling itself recursively when the error approximation is above ɛ • return the approximation of the integral of f from a to b The main program should print the approximation returned by the adaptive quadrature function. Finally, the main program should calculate and print the true definite integral (calculated using the Fundamental Theorem of Calculus) and the absolute error in the approximation. Use the format specifier %e for the error. Sample output:
In this problem we will investigate using adaptive quadrature to approximate a definite integral. The trapezoid rule can use used to approximate an integral I(f, a, b) = Så f(x) dx by I:(f,a, b) = (f(a) + f(b)) = Qab, which is called a quadrature rule. Adaptive quadrature on a given interval [a, b) proceeds as follows: %3D • calculate the midpoint c = t° • calculate Qab, the trapezoid rule approximation on [a, b] • calculate Qac, the trapezoid rule approximation on [a, c] • calculate Qeb, the trapezoid rule approximation on [c, b] approximate the error as |Qab – (Qac + Qcb)| • if the error approximation is less than ɛ, return the approximation Qac + Qcbi otherwise perform adaptive quadrature on [a, c] and also on [c, b] and return the sum of these two results as the approximation In this question we will study the function f(x) cos(x). %3D Write a program that defines a “math" (anonymous) function for f and another for the true integral of ƒ (where you can just do the integration by hand and hard code the result as, for example, If). The main program should then call a function get input which should • prompt the user for a value for a • prompt the user for a value for b (you may assume they enter a b such that a < b) • keep prompting the user and giving error messages until a positive value is entered for ɛ • return the values for a, b, and ɛ The main program should then call the function adaptive_quadrature which should • take in a function f, values for a and b, and a value for e • print an entry message • implement adaptive quadrature as described above, calling itself recursively when the error approximation is above ɛ • return the approximation of the integral of f from a to b The main program should print the approximation returned by the adaptive quadrature function. Finally, the main program should calculate and print the true definite integral (calculated using the Fundamental Theorem of Calculus) and the absolute error in the approximation. Use the format specifier %e for the error. Sample output:
Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
Related questions
Question
Expert Solution
This question has been solved!
Explore an expertly crafted, step-by-step solution for a thorough understanding of key concepts.
Step by step
Solved in 2 steps with 1 images
Knowledge Booster
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.Recommended textbooks for you
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education