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.

2 answers

sry broo , 600x
i don't want the answer. just help me visualize the problem and how to go for the solution. i am in class 9th and i don't know anything about integrals, yet. coding is not the problem. i am able to do that