对于类,我们应该计算e系列的绝对误差,实际误差。最后,我们必须使用“半月”图来绘制相对误差和绝对误差。代码本身工作正常,并按预期生成数值计算。但就图表而言,它并未接近实际结果。 知道为什么这不起作用的任何想法? 最后附上了图表的图像。
import numpy as np
import math as m
import matplotlib.pyplot as plt
Exp_List = []
Relative_Error = []
Absolute_Error = []
def ExpCalc(x,N,t):
exp = 0.0
for i in range(N-1):
fac = m.factorial(i)
next_term = x**i/fac
Exp_List.append(next_term)
exp += next_term
Relative = abs((sum(Exp_List)-t)/sum(Exp_List))
Relative_Error.append(Relative)
Absolute = abs(sum(Exp_List)-t)
Absolute_Error.append(Absolute)
i += 1
return (Absolute_Error, Relative_Error)
A = m.exp(1)
B = m.exp(20)
C = m.exp(100)
print(ExpCalc(1,20,A))
plt.figure()
plt.semilogy(ExpCalc(1,20,A))
plt.show()
图像显示了数值计算以及从代码中获得的图表