import math as m
import matplotlib.pyplot as plt
list1 = []
list2 = []
terror1 = []
terror2 = []
Aerror1 = []
Aerror2 = []
true_value = m.exp(-5)
def sol1(terms, x):
res = 0
for i in range(terms+1):
res += m.pow(-x, i)/m.factorial(i)
return res
def sol2(terms, x):
res = 0
for i in range(terms+1):
res += m.pow(x, i)/m.factorial(i)
res = 1 / res
return res
res1 = 0
res2 = 0
temp1 = 0
temp2 = 0
for i in range(21) :
temp1 = res1
temp2 = res2
res1 = sol1(i,5)
res2 = sol2(i, 5)
list1.append(res1)
list2.append(res2)
terror1.append((true_value - res1) / true_value)
Aerror1.append((res1 - temp1) / res1)
terror2.append((true_value - res2) / true_value)
Aerror2.append((res2 - temp2) / res2)
print('First approach:')
print('%s%20s%20s%20s' % ('Iteration', 'Approximation', 'E_t', 'E_a'))
for i in range(21):
print('%9d%20f%20f%20f' % (i, list1[i], terror1[i], Aerror1[i]))
print('\n')
print('Second approach:')
print('%s%20s%20s%20s' % ('Iteration', 'Approximation', 'E_t', 'E_a'))
for i in range(21):
print('%9d%20f%20f%20f' % (i, list2[i], terror2[i], Aerror2[i]))
plt.subplot(2, 1, 1)
plt.plot(list1)
plt.title('Approach 1')
plt.subplot(2, 1, 2)
plt.plot(list2)
plt.title('Approach 2')
plt.show()Add a code snippet to your website: www.paste.org