Odvod

Primer

Sestavimo tabelo odvodov elementarnih funkcij in pravil za odvajanje. Za simbolično odvajanje lahko uporabimo funkcijo diff iz knjižnice sympy.


In [6]:
simplify(diff(x**n,x))


Out[6]:
$$n x^{n - 1}$$

In [1]:
from sympy import *
init_printing()
x,n = symbols('x n')
funkcije = [1,x**n,sin(x),cos(x), exp(x),log(x)]
tabela = [[f,diff(f,x)] for f in funkcije]
tabela


Out[1]:
$$\left [ \left [ 1, \quad 0\right ], \quad \left [ x^{n}, \quad \frac{n x^{n}}{x}\right ], \quad \left [ \sin{\left (x \right )}, \quad \cos{\left (x \right )}\right ], \quad \left [ \cos{\left (x \right )}, \quad - \sin{\left (x \right )}\right ], \quad \left [ e^{x}, \quad e^{x}\right ], \quad \left [ \log{\left (x \right )}, \quad \frac{1}{x}\right ]\right ]$$

Lepši izpis tabele dobimo, če uporabimo knjižnico za delo s tabelami in podatki Pandas.


In [2]:
from pandas import DataFrame
DataFrame(tabela,columns={"$f(x)$","$f'(x)$"})


Out[2]:
$f'(x)$ $f(x)$
0 1 0
1 x**n n*x**n/x
2 sin(x) cos(x)
3 cos(x) -sin(x)
4 exp(x) exp(x)
5 log(x) 1/x

In [3]:
# za lepši izpis uporabimo funkcijo latex
tabela =[['$$%s$$' % latex(f),'$$%s$$'% latex(diff(f,x))] for f in funkcije ]
DataFrame(tabela,columns={"funkcija $f(x)$","odvod $f'(x)$"})


Out[3]:
odvod $f'(x)$ funkcija $f(x)$
0 $$1$$ $$0$$
1 $$x^{n}$$ $$\frac{n x^{n}}{x}$$
2 $$\sin{\left (x \right )}$$ $$\cos{\left (x \right )}$$
3 $$\cos{\left (x \right )}$$ $$- \sin{\left (x \right )}$$
4 $$e^{x}$$ $$e^{x}$$
5 $$\log{\left (x \right )}$$ $$\frac{1}{x}$$

Pravila za odvajanje

Sestavimo še tabelo pravil za odvajanje. Vključimo pravila za osnovne operacije in kompozitum.


In [4]:
%%javascript
MathJax.Hub.Config({
    "HTML-CSS": { linebreaks: {automatic: false } }
  });
// preprečimo prelom vrstic v tabeli



In [5]:
f,g = symbols("f,g")
import pandas as pd
pd.options.display.max_colwidth=1000 

operacije = [f(x)+g(x), f(x)*g(x), f(x)/g(x), f(x)**g(x),f(g(x))]
fmt = "$$%s$$"
tabela = [[fmt % latex(op),fmt % latex(simplify(diff(op,x)))] for op in operacije]
df_tabela = DataFrame(tabela, columns=["funkcija $f(x)$","pravilo za odvod $f'(x)$"],) 
df_tabela


Out[5]:
funkcija $f(x)$ pravilo za odvod $f'(x)$
0 $$f{\left (x \right )} + g{\left (x \right )}$$ $$\frac{d}{d x} f{\left (x \right )} + \frac{d}{d x} g{\left (x \right )}$$
1 $$f{\left (x \right )} g{\left (x \right )}$$ $$f{\left (x \right )} \frac{d}{d x} g{\left (x \right )} + g{\left (x \right )} \frac{d}{d x} f{\left (x \right )}$$
2 $$\frac{f{\left (x \right )}}{g{\left (x \right )}}$$ $$\frac{1}{g^{2}{\left (x \right )}} \left(- f{\left (x \right )} \frac{d}{d x} g{\left (x \right )} + g{\left (x \right )} \frac{d}{d x} f{\left (x \right )}\right)$$
3 $$f^{g{\left (x \right )}}{\left (x \right )}$$ $$\left(f{\left (x \right )} \log{\left (f{\left (x \right )} \right )} \frac{d}{d x} g{\left (x \right )} + g{\left (x \right )} \frac{d}{d x} f{\left (x \right )}\right) f^{g{\left (x \right )} - 1}{\left (x \right )}$$
4 $$f{\left (g{\left (x \right )} \right )}$$ $$\frac{d}{d x} g{\left (x \right )} \left. \frac{d}{d \xi_{1}} f{\left (\xi_{1} \right )} \right|_{\substack{ \xi_{1}=g{\left (x \right )} }}$$

Naloga

Izpiši tabelo odvodov funkcij $\tan$ in inverznih trigonometričnih funkcij $\arcsin$, $\arccos$ in $\arctan$. Nato izpiši še pravilo za odvod $$\frac{1}{f(x)}\text{ in }\log(f(x)).$$


In [55]:
import disqus
%reload_ext disqus
%disqus matpy