import math def concentration(x, u): s0 = 350 E = 5 return s0 * math.exp(x * u / E) def velocity(x, a): return abs(math.sin(a * x)) def taylorterm(n, x, x0, a): sign = (-1)**math.floor(0.5 * n) an = a**n dxn = (x - x0)**n facn = math.factorial(n) if n % 2 == 0: fx = math.sin(a * x0) else: fx = math.cos(a * x0) h = (sign * an * dxn / facn) * fx return h a = 4.8 x = -1 x0 = 0 print("n utaylor error s") N = 20 velotaylor = 0 for n in range(N): u = velocity(x, a) velotaylor += taylorterm(n, x, x0, a) err = abs(u - abs(velotaylor)) conc = concentration(x, velotaylor) str1 = f'{n:02d}' str2 = f'{velotaylor:0.5f}' str3 = f'{(err*100):0.4f}%' str4 = f'{conc:0.4f}' print(str1, str2, str3, str4)