differentiate x^2*sin(x)
diff(x^2*sin(x),x).show()
vyraz = x^2*sin(x)
# tisk výrazu (pro kontrolu)
vyraz.show()
# derivace podle x
# je možno psát i derivace = diff(vyraz, x)
derivace = vyraz.diff(x)
# zobrazení výsledku
derivace.show()
diff(x^2*sin(x),x);
differentiate log(sqrt((x-1)/(x+1)))
vyraz = log(sqrt((x-1)/(x+1)))
# pro derivaci podle x můžeme psát
# vyraz.derivace(x)
# nebo
# diff(vyraz, x)
derivace = vyraz.diff(x)
vyraz.show()
derivace.factor().show()
derivace=diff(log(sqrt((x-1)/(x+1))),x)
derivace.simplify_full().show()
vyraz : log(sqrt((x-1)/(x+1)));
derivace : diff(vyraz, x);
radcan(derivace);
second derivative of x^3/(x+1)^2
# bez úpravy
diff(x^3/(x+1)^2,x,2).show()
# s úpravou
diff(x^3/(x+1)^2,x,2).factor().show()
factor(diff(x^3/(x+1)^2,x,2));
series of log((1+x)/(1-x)) at x=0
taylor(log((1+x)/(1-x)), x, 0, 7).show()
# varianta s grafem funkce a polynomu - vstupní data
f(x)=log((1+x)/(1-x)) # funkce
n=7 # stupeň
# příkazy pro zpracování
vysledek=taylor(f(x), x, 0, n) # výpočet Taylorova polynomu
html("Taylorův polynom") # nadpis
vysledek.show() # zobrazení výsledku
html("Grafy (funkce modře, polynom červeně)") # nadpis
P1=plot(vysledek,x,-0.85,0.85,rgbcolor='red') # graf Taylorova polynomu
P2=plot(f(x),x,-0.85,0.85) # graf funkce
P1+P2 # zobrazení obou grafů
taylor(log((1+x)/(1-x)), x, 0, 7);
/* varianta s grafem funkce */
f:log((1+x)/(1-x));
n:7;
vysledek:taylor(f, x, 0, n);
plot2d([vysledek,f],[x,-0.9,0.9]);
local extrema of x*(210-2*x)*(297-2*x)
find stationary points of x^2/(x-1)
derivace=diff(x^2/(x-1),x)
show(solve(derivace,x))
derivace:diff(x^2/(x-1),x);
solve(derivace,x);
# ---> sbalit <---
# zadaná funkce, funkci můžete změnit
f = x^2*(x-1)
# můžete zadat meze na ose x
xmin, xmax = -1, 1.5
# meze na ose y můžete nechat automatické (None), nebo zadat (místo None napište číslo)
ymin, ymax = None, None
#################################################################
# dál už nic nemusíte číst ani upravovat, jenom spusťte výpočet #
#################################################################
def prubeh(f,(x,xmin,xmax),ymin=None, ymax=None):
r"""
Procedura nakresli graf funkce f na intervalu xmax, xmin, vypocte nulove, stacionarni a
kriticke body.
Je mozno zadat nepovinne parametry ymin a ymax pro rozsah hodnot na svisle ose.
"""
P = plot(f,(x,xmin,xmax),detect_poles=True)
tab=[[r"<h3>Funkce", r"$\displaystyle y=%s$</h3>"%latex(f)]]
tab.append([r"1. derivace", r"$\displaystyle y'=%s$"%latex(factor(diff(f,x)))])
tab.append([r"2. derivace", r"$\displaystyle y'=%s$"%latex(factor(diff(f,x,2)))])
_temp = solve(f,x, solution_dict=True, explicit_solutions=True)
_nulove_body = [i[x] for i in _temp if i[x].imag().n() == 0]
_temp = solve(diff(f,x),x, solution_dict=True, explicit_solutions=True)
_stac_body = [i[x] for i in _temp if i[x].imag().n() == 0]
_temp = solve(diff(f,x,2),x, solution_dict=True, explicit_solutions=True)
_krit_body = [i[x] for i in _temp if i[x].imag().n() == 0]
if len(_stac_body)>0:
P += point2d([(i,f(x=i)) for i in _stac_body], color='red', size=30, zorder=8)
if len(_krit_body)>0:
P += point2d([(i,f(x=i)) for i in _krit_body], color='black', size=15, zorder=9)
tab.append([r"Nulové body", r"$\displaystyle %s$"%latex(tisk_bodu(_nulove_body))])
tab.append([r"Stacionární body", r"$\displaystyle %s$ (v grafu červeně)"%latex(tisk_bodu(_stac_body))])
tab.append([r"Kritické body", r"$\displaystyle %s$ (v grafu černě)"%latex(tisk_bodu(_krit_body))])
html.table(tab)
if P.ymax()>300 and ymax is None:
ymax = 20
if P.ymin()<-300 and ymin is None:
ymin = -20
show(P,ymax=ymax,ymin=ymin)
def tisk_bodu(a):
if len(a)==1:
return [x==a[0]]
else:
return [x==i for i in a]
prubeh(f,(x,xmin,xmax),ymin=ymin,ymax=ymax)
# <---- rozbalit --->
# kód je příliš dlouhý
# zobrazí se po rozbalení,
# nebo na stránce, na kterou vedou odkazy pro spuštění