In [1]:
import numpy as np
import matplotlib.pyplot as plt
from math import cos, acos, cosh, acosh
%matplotlib inline
In [2]:
def T(m, x):
if m < 0:
return 0
elif abs(x) <= 1:
return cos(m * acos(x))
else:
return cosh(m * acosh(abs(x)))
In [3]:
b = 1
a = -1
n = 1000
x = np.linspace(a, b, n, endpoint=True)
m_max = 10
In [4]:
plt.figure(figsize=(20,10))
for m in range(1, m_max+1, 2):
vectorTm = np.vectorize(lambda x: T(m, x))
plt.plot(x, vectorTm(x))
plt.show()
In [5]:
b = 1
a = 0.05
n = 10000
x = np.linspace(a, b, n, endpoint=True)
In [6]:
plt.figure(figsize=(20,10))
for i, m in enumerate([5, 10, 20]):
vectorTm = np.vectorize(lambda x: T(m, (2*x-a-b)/(b-a))/T(m, (-a-b)/(b-a)))
plt.subplot(3, 1, i+1)
plt.plot(x, vectorTm(x))
plt.show()
In [ ]: