. , . . func1 func2 , func2 . .
import numpy as np
def func1(a, b, c, d):
A = np.cos(a) * np.cos(b) - np.sin(a) * np.sin(b) * np.sin(c - d)
return A
def func2(a, b, c, d):
s = np.sin(c - d)
A = 0.5*((1 - s)*np.cos(a - b) + (1 + s)*np.cos(a + b))
return A
N = 5000:
In [48]: %timeit func1(a, b, c, d)
1000 loops, best of 3: 374 µs per loop
In [49]: %timeit func2(a, b, c, d)
1000 loops, best of 3: 241 µs per loop