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]:
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]:
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]:
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]:
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]:
In [55]:
import disqus
%reload_ext disqus
%disqus matpy