• Register

Numerično odvajanje funkcije

+3 votes
355 views

Definirano imam funkcijo v odvisnosti od časa:


def nihanje2(t):
    return (6250000000000.0 * (10 * np.arctan(t**2) * (np.cos(t))**2 * 10**3) + 7.76250000000001 * 10**16)/(225000000000.0 * (10 * np.arctan(t**2) * (np.cos(t))**2 * 10**3) + 3.54375 * 10**15)


Funkcijo bi želel odvajati po času.

Ima kdo kakšno idejo kako bi to izpeljal?

LP

asked Dec 29, 2015 by abcde (180 points)
edited Dec 29, 2015 by janko.slavic

1 Answer

+4 votes
 
Best answer

V funkcijo lahko vstaviš vektor časov, recimo t_num = np.linspace(0, 10, 1000) 

in dobiš vektor rezultatov: nihajni_rezultati =  nihanje2(t_num).

Sedaj te rezultate odvajaš numerično na primer s funkcijo: 

nihajni_rezultati_odvod = np.gradient(nihajni_rezultati), dobiš vrednosti odvodov v točkah iz t_num

če sedaj narediš plota:

plt.plot(t_num, nihajni_rezultati)

plt.plot(t_num, nihajni_rezultati_odvod)

Dobiš graf funkcije in graf odvoda funkcije.

answered Dec 30, 2015 by Jan Zavodnik (1,060 points)
selected Jan 2, 2016 by blaz
...