Advertisement
ashy63

AreaUnderCurve

Aug 2nd, 2015
215
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.31 KB | None | 0 0
  1. # Area under the curve using rectangles and trapezoids
  2. import warnings
  3.  
  4. warnings.filterwarnings("ignore", category=DeprecationWarning)
  5.  
  6.  
  7. def setup():
  8.     global eq
  9.     eq = input("Enter an equation in terms of x (use Python syntax) ")
  10.  
  11.     leftEnd = input("Enter lower bound ")
  12.     rightEnd = input("Enter upper bound ")
  13.  
  14.     leftEnd = int(leftEnd)
  15.     rightEnd = int(rightEnd)
  16.  
  17.     n = input("Enter the number of rectangles or trapezoids? ")
  18.     n = int(n)
  19.  
  20.     # Calculating the area using the width of the rectangle
  21.  
  22.     deltaX = (rightEnd - leftEnd) / int(n)
  23.  
  24.     # print result
  25.     print("The width is ", deltaX)
  26.     print("Left (Lower) end sum is ", leftSum(n, leftEnd, deltaX))
  27.     print("Right (Upper) end sum is ", rightSum(n, leftEnd, deltaX))
  28.     print("Trapezoid sum is ", trap(n, leftEnd, deltaX))
  29.  
  30.  
  31. def leftSum(num, le, dx):
  32.     leftSum = 0.0
  33.     for i in range(num):
  34.         x = le + i * dx
  35.         h = eval(eq)
  36.         leftSum = leftSum + h * dx
  37.     return leftSum
  38.  
  39.  
  40. def rightSum(num, le, dx):
  41.     rightSum = 0.0
  42.     for i in range(num):
  43.         x = le + (i + 1) * dx
  44.         h = eval(eq)
  45.         rightSum = rightSum + h * dx
  46.     return rightSum
  47.  
  48.  
  49. def trap(num, le, dx):
  50.     tSum = .5 * (rightSum(num, le, dx) + leftSum(num, le, dx))
  51.     return tSum
  52.  
  53.  
  54. def main():
  55.     setup()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement