import numpy import matplotlib.pyplot as plt def f(x): return numpy.sin(x) def taylor_f_10(x): return numpy.polyval([1./362880., 0, -1./5040., 0, 1./120., 0, -1./6., 0, 1., 0], x) def taylor_f_5(x): return numpy.polyval([1./120., 0, -1./6., 0, 1., 0], x) def taylor_f_3(x): return numpy.polyval([-1./6., 0, 1., 0], x) x = numpy.linspace(0, 2.0*numpy.pi, 1000) plt.figure() plt.plot(x, f(x), x, taylor_f_3(x), x, taylor_f_5(x), x, taylor_f_10(x) ) plt.axis([0, 2.0*numpy.pi, -1, 1]) plt.legend(('f(x)', '3', '5', '10')) def g(x): return 1/(1+x*x) def taylor_g_10(x): return numpy.polyval([0, 1, 0, -1, 0, 1, 0, -1, 0, 1], x) def taylor_g_5(x): return numpy.polyval([0, 1, 0, -1, 0, 1], x) def taylor_g_3(x): return numpy.polyval([0, -1, 0, 1], x) x = numpy.linspace(-5, 5, 1000) plt.figure() plt.plot(x, g(x), x, taylor_g_3(x), x, taylor_g_5(x), x, taylor_g_10(x)) plt.axis([-5, 5, 0, 1.5]) plt.legend(('g(x)', '3', '5', '10')) def h(x): return x**-12 - x**-6 def taylor_h_10(x): return numpy.polyval([349713, -165958, 74295, -31032, 11914, -4116, 1239, -308, 57, -6, 0], x-1) def taylor_h_5(x): return numpy.polyval([-4116, 1239, -308, 57, -6, 0], x-1) def taylor_h_3(x): return numpy.polyval([-308, 57, -6, 0], x-1) x = numpy.linspace(1, 5, 1000) plt.figure() plt.plot(x, h(x), x, taylor_h_3(x), x, taylor_h_5(x), x, taylor_h_10(x)) plt.axis([1, 2, -0.3, 0.1]) plt.legend(('h(x)', '3', '5', '10')) plt.show()