Asked by Anonymous
A standard problem in mathematics is to measure the area under a curve (or to integrate the function defining the curve). A simple way to do this is to approximate the area with a series of rectangles (whose areas are easy to compute).
For example, we could split the range into two parts, then fit a rectangle whose height is the value of the function at the start of the range to the left half, and fit a rectangle whose height is the value of the function at the middle of the range to the right half. If we decide this is not a sufficiently accurate estimate of the area under the curve, we could split each part in half and repeat the process.
Here is a function that estimates the area under a curve defined by a function f, between points a and b:
def integrate(f, a, b, parts):
spacing = float(b-a)/parts
current = 0
for i in range(parts):
current += spacing * f(a+ i*spacing)
return current
Your job is to fill in the following function definition:
def successiveApproxIntegrate(f, a, b, epsilon):
# Your Code Here
To do so, use successive refinement to find the area under a curve to within a specific level of accuracy. Complete the function definition so that the procedure successiveApproxIntegrate returns an estimate of the area under the curve f. Your final estimate, using N parts, must be less than epsilon away from the estimate using N/2 parts.
For example, we could split the range into two parts, then fit a rectangle whose height is the value of the function at the start of the range to the left half, and fit a rectangle whose height is the value of the function at the middle of the range to the right half. If we decide this is not a sufficiently accurate estimate of the area under the curve, we could split each part in half and repeat the process.
Here is a function that estimates the area under a curve defined by a function f, between points a and b:
def integrate(f, a, b, parts):
spacing = float(b-a)/parts
current = 0
for i in range(parts):
current += spacing * f(a+ i*spacing)
return current
Your job is to fill in the following function definition:
def successiveApproxIntegrate(f, a, b, epsilon):
# Your Code Here
To do so, use successive refinement to find the area under a curve to within a specific level of accuracy. Complete the function definition so that the procedure successiveApproxIntegrate returns an estimate of the area under the curve f. Your final estimate, using N parts, must be less than epsilon away from the estimate using N/2 parts.
Answers
There are no AI answers yet. The ability to request AI answers is coming soon!
Submit Your Answer
We prioritize human answers over AI answers.
If you are human, and you can answer this question, please submit your answer.