graph x^2-y^2 for x from -1 to 1, y from -1 to 1
# graf je možno otáčet a přibližovat myší
y=var('y')
plot3d(x^2-y^2, (x,-1,1), (y,-1,1))
plot3d(x^2-y^2, [x,-1,1], [y,-1,1]);
contour plot sqrt(x^2+y^2)+0.3*sin(x*y)
# Krátká verze
x,y = var('x,y')
contour_plot( sqrt(x^2+y^2)+0.3*sin(x*y) , (x,-4,4) , (y,-4,4))
# Rozšířená verze
x,y = var('x,y')
# Nastavení funkce, mezí a parametrů pro kreslení
f(x,y)=sqrt(x^2+y^2)+0.3*sin(x*y)
x_meze = (x,-4,4)
y_meze = (y,-4,4)
pocet_vrstevnic = 30
pocet_bodu = 200
# Příkaz pro tisk zadání a vykreslení vrstevnic(nemusíte většinou už upravovat)
show(f(x,y))
contour_plot(f, x_meze , y_meze,plot_points=pocet_bodu,cmap='gnuplot_r',labels=1,colorbar=1,fill=0,contours=pocet_vrstevnic)
differentiate y*x*sin(x+y^2) with respect to y
x,y=var('x,y')
diff(y*x*sin(x+y^2), y).show()
diff(y*x*sin(x+y^2), y);
x,y=var('x,y')
diff(y*x*sin(x+y^2), x, 3, y, 2).show()
diff(y*x*sin(x+y^2), x, 3, y, 2);
stationary points of x^2y^2-x^2-y^2
var('x y')
f=x^2*y^2-x^2-y^2
show(f)
show(solve([diff(f,x),diff(f,y)],[x,y]))
f:x^2*y^2-x^2-y^2;
solve([diff(f,x),diff(f,y)],[x,y]);
local extrema of x^2y^2-x^2-y^2
# ---> sbalit <---
x,y=var('x y')
########################################################
# Na následujícím řádku můžete upravit funkční předpis #
########################################################
f(x,y)=x^2*y^2-x^2-y^2
############################################################
# dál už není potřeba nic upravovat, jenom spustit výpočet #
############################################################
def loc_extr(funkce):
html(r'Funkce $z=%s$'%latex(funkce))
sols=solve([diff(funkce,x),diff(funkce,y)],[x,y], solution_dict=True)
fxx=diff(funkce,x,x)
H=funkce.hessian().determinant()
A=[["Stacionární bod","Hesián","$f''_{xx}$","rozhodnutí"]]
for s in sols:
if H.subs(s) < 0:
druha_derivace='...'
rozhodnuti='sedlo'
elif H.subs(s) > 0:
druha_derivace=fxx.subs(s)
if fxx.subs(s) > 0:
rozhodnuti='minimum'
else:
rozhodnuti='maximum'
else:
druha_derivace='...'
rozhodnuti='???'
A.append([[s[x],s[y]],H.subs(s),druha_derivace,rozhodnuti])
html.table(A,header=True)
loc_extr(f(x,y))
# <---- rozbalit --->
# kód je příliš dlouhý
# zobrazí se po rozbalení,
# nebo na stránce, na kterou vedou odkazy pro spuštění