網頁

 http://140.113.20.144/mediawiki/index.php/藥學系:_Integrals_and_sums:_approximating_integrals_with_sums?fbclid=IwAR2phBYCybBLclcOqyH3yxJqoQuQuXaSNRJ6K2upBd7T4KehL_0o1OnSxdY 

import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 10, 100)
y = x**2
#Left-hand estimate
rect_x = np.linspace(0, 10, 11)
rect_y = rect_x**2
rect_height = rect_y[:-1]
rect_width = rect_x[1:] - rect_x[:-1]
#Right-hand estimate
rect_x_r = np.linspace(-1, 9, 11)
rect_y_r = (rect_x_r+1)**2
rect_height_r = rect_y_r[1:]
rect_width_r = rect_x_r[1:] - rect_x_r[:-1]
plt.bar(rect_x_r[1:], rect_height_r, rect_width_r, align='edge', alpha=0.5, color='orange', label='Right-hand estimate')
plt.bar(rect_x[:-1], rect_height, rect_width, align='edge', alpha=0.5, color='blue', label='Left-hand estimate')
plt.plot(x, y, label='y = x^2')
plt.xlabel('x')
plt.ylabel('y')
plt.title('y = x^2 and Left/Right-hand estimate')
plt.legend()
plt.grid()
plt.show()