Reimann Sum Visualizer
from math import * import matplotlib.pyplot as plt import numpy as np def f(x): return x**2 a = 0 b = 4 n = 8 #type #left:k=0 mid:k=0.5 right:k=1 k = 1 h = (b-a)/n rsum = 0 xmin = -0.5 xmax = 4.5 ymin = -1 ymax = 20 plt.axis((xmin, xmax, ymin, ymax)) xs = np.linspace(-.5,4.5,40) ys = f(xs) plt.plot(xs,ys) for i in range(0,n): xR = (a+i*h,a+i*h,a+(i+1)*h,a+(i+1)*h) yR = (0, f(a+(i+k)*h),f(a+(i+k)*h),0) plt.plot(xR,yR,'red') rsum = rsum + f(a+(i+k)*h)*h plt.text(xmin+(xmax-xmin)*.2,ymax-(ymax-ymin)*.1,"A="+str(rsum)) plt.show()