import sympy as sym
import numpy as np
from IPython.display import display,Math
import matplotlib.pyplot as plt
Exercise
display(Math('f=x^2'))
display(Math('x_a \\: \\epsilon \\: (-2,2)'))
def computetangent(f,xa,bnds):
# defining the derivative and values at point xa
fa = f.subs(x,xa)
df = sym.diff(f)
dfa = df.subs(x,xa)
# evaluate the tangent line
xx = np.linspace(bnds[0],bnds[1],200)
# print(bnds)
# print(xx[0])
# print((xx-xa)[0])
# print(fa)
# print(dfa)
return dfa * (xx-xa) + fa # y values
x = sym.symbols('x')
f = x**2
xx = np.linspace(-2,2,200)
ffun = sym.lambdify(x,f)(xx)
tanline = computetangent(f,1,xx[[0,-1]])
print(xx[[0,-1]])
# print(tanline)
plt.plot(xx,ffun)
plt.plot(xx,tanline)
plt.show()
for a in xx:
y = computetangent(f,a,xx[[0,-1]])
plt.plot(xx,y,color=[abs(a)/3,abs(a)/4,abs(a)/2])
plt.plot(xx,ffun)
plt.axis('square')
plt.axis([-2,2,-1,3])
plt.axis('off')
plt.show()