Page 146 - 6734
P. 146
fv=vectorize(f) # векторизована функція (приймає та
повертає вектори)
print fv([1,2,3]) # повертає масив ndarray
[3 4 5]
scipy – похідна і первісна функції
В прикладі дано функцію . Шляхом чисельного
диференціювання [11] знаходиться її похідна .
Шляхом кумулятивного інтегрування знаходиться первісна
(дивись документацію функції
scipy.integrate.cumtrapz).
Похідна і первісна можуть бути використані для пошуку
екстремумів функції та для розв’язування рівнянь. Для пошуку
екстремуму y потрібно розв’язати рівняння . А для
пошуку кореня потрібно шукати екстремум первісної Y.
import numpy as np
import matplotlib.pyplot as plt
from scipy.integrate import cumtrapz
X=np.linspace(-5,3)
Y=X**2+4*X # функція
plt.plot(X,Y,'k-')
Y1=np.diff(Y)/np.diff(X) # похідна
plt.plot(X[:-1],Y1,'k--')
Y1=np.gradient(Y,X[1]-X[0]) # або
plt.plot(X,Y1,'k--')
Y_int=cumtrapz(Y, X, initial=0) # первісна
plt.plot(X,Y_int,'k:')
plt.xlabel('$x$');plt.ylabel('$y, \dot{y},
Y$');plt.grid();plt.show()
145