Seznámení se systémem Mathematica 7

Limity, derivace a integrály

© Jaroslav Reichl, SPŠST Panská, Praha
reichl@panska.cz

Obsah

Prezentace obsahuje tato témata:

18. úkol
Limity
19. úkol
20. úkol
Derivace
21. úkol
Integrály
22. úkol

Jaroslav Reichl, SPŠST Panská, Praha, © 2010

18. úkol: Motivační úlohy pro limity

Zobrazte pravidelný mnohoúhelník, který je vepsán do kružnice o poloměru 5 jednotek. Postupně měňte počet vrcholů a sledujte, jak se daný mnohoúhelník mění.

Řešení

ClearAll["Global`*"];
polomer=5;
pocetvrcholu0=3;pocetvrcholumin=3;pocetvrcholumax=50;deltapocetvrcholu=1;

barva=Black;
barvanuhelnika=Red;
barvavrcholu=Blue;
velikostbodu=0.03;

Manipulate[
vrcholy=Table[{polomer Cos[((2π)/pocetvrcholu)i],polomer Sin[((2π)/pocetvrcholu)i]},{i,0,pocetvrcholu-1,1}];
vrcholykresleni=Point[vrcholy];
nuhelnik=Polygon[{vrcholy}];
Graphics[{
{barvanuhelnika,nuhelnik},
{barvavrcholu,PointSize[velikostbodu],vrcholykresleni}
},
PlotRange->{{-1.1polomer,1.1polomer},{-1.1polomer,1.1polomer}}],
{{pocetvrcholu,pocetvrcholu0,Style["počet vrcholů",15,barva]},pocetvrcholumin,pocetvrcholumax,deltapocetvrcholu}]

Pomocí příkazu Manipulate[] vepisujte postupně do čtverce střídavě obdélníky a čtverce tak, že každý další obdélník nebo čtverec vepíšete do zatím nepoužité části původního čtverce. Souvisí tato geometrická hříčka nějak s součtem nekonečné posloupnosti (1/2)+(1/4)+(1/8)+(1/16)+...? Pokud ano, jak?

Řešení

ClearAll["Global`*"];
x1=-10;x2=-x1;
y1=-10;y2=-y1;
stredx=0.5(x2+x1);stredy=0.5(y2+y1);

delka0=0.75(x2-x1);delkamin=0.25(x2-x1);delkamax=0.9(x2-x1);deltadelka=0.05(x2-x1);
pocetdeleni0=0;pocetdelenimin=0;pocetdelenimax=12;deltapocetdeleni=1;
pomer=2;

vrcholx=Table[Null,{i,1,pocetdelenimax+1,1},{j,1,4,1}];
vrcholy=Table[Null,{i,1,pocetdelenimax+1,1},{j,1,4,1}];
ctverec=Table[Null,{i,2,pocetdelenimax+2,1}];
ctverecplny=Table[Null,{i,2,pocetdelenimax+2,1}];

tloustka=0.005;
barva=Black;
barvactvercezaklad=Blue;
barvactverce=Red;
barvactverceplneho=Lighter[barvactverce,0.9];

Manipulate[
vrcholx[[1,1]]=stredx-0.5delka;
vrcholy[[1,1]]=stredy-0.5delka;
vrcholx[[1,2]]=stredx-0.5delka;
vrcholy[[1,2]]=stredy+0.5delka;
vrcholx[[1,3]]=stredx+0.5delka;
vrcholy[[1,3]]=stredy+0.5delka;
vrcholx[[1,4]]=stredx+0.5delka;
vrcholy[[1,4]]=stredy-0.5delka;
obdelnik=Line[{{vrcholx[[1,1]],vrcholy[[1,1]]},{vrcholx[[1,2]],vrcholy[[1,2]]},{vrcholx[[1,3]],vrcholy[[1,3]]},{vrcholx[[1,4]],vrcholy[[1,4]]},{vrcholx[[1,1]],vrcholy[[1,1]]}}];
If[pocetdeleni≠0,
Table[
{vrcholx[[1,2]]=vrcholx[[1,1]],
vrcholy[[1,2]]=vrcholy[[1,1]],
If[i==1,
{vrcholx[[i+1,1]]=vrcholx[[i,3]]-(delka/(pomer^(i-1))),
vrcholy[[i+1,1]]=vrcholy[[i,3]]-(delka/(pomer^(i-1))),
vrcholx[[i+1,2]]=vrcholx[[i,3]]-(delka/(pomer^(i-1))),
vrcholy[[i+1,2]]=vrcholy[[i,3]],
vrcholx[[i+1,3]]=vrcholx[[i,3]]-(delka/(pomer^i)),
vrcholy[[i+1,3]]=vrcholy[[i,3]],
vrcholx[[i+1,4]]=vrcholx[[i,3]]-(delka/(pomer^i)),
vrcholy[[i+1,4]]=vrcholy[[i,3]]-(delka/(pomer^(i-1)))},
If[i>1∧Mod[i,2]==0,
{vrcholx[[i+1,1]]=vrcholx[[i,4]],
vrcholy[[i+1,1]]=vrcholy[[i,4]],
vrcholx[[i+1,2]]=vrcholx[[i,4]],
vrcholy[[i+1,2]]=vrcholy[[i,4]]+vrcholx[[i,4]]-vrcholx[[i,1]],
vrcholx[[i+1,3]]=vrcholx[[i,4]]+vrcholx[[i,4]]-vrcholx[[i,1]],
vrcholy[[i+1,3]]=vrcholy[[i,4]]+vrcholx[[i,4]]-vrcholx[[i,1]],
vrcholx[[i+1,4]]=vrcholx[[i,4]]+vrcholx[[i,4]]-vrcholx[[i,1]],
vrcholy[[i+1,4]]=vrcholy[[i,4]]},
{vrcholx[[i+1,1]]=vrcholx[[i,2]],
vrcholy[[i+1,1]]=vrcholy[[i,2]],
vrcholx[[i+1,2]]=vrcholx[[i,2]],
vrcholy[[i+1,2]]=vrcholy[[i,2]]+vrcholx[[i,3]]-vrcholx[[i,2]],
vrcholx[[i+1,3]]=vrcholx[[i,2]]+((vrcholx[[i,3]]-vrcholx[[i,2]])/pomer),
vrcholy[[i+1,3]]=vrcholy[[i,2]]+vrcholx[[i,3]]-vrcholx[[i,2]],
vrcholx[[i+1,4]]=vrcholx[[i,2]]+((vrcholx[[i,3]]-vrcholx[[i,2]])/pomer),
vrcholy[[i+1,4]]=vrcholy[[i,2]]}]],
ctverec[[i+1]]=Line[{{vrcholx[[i+1,1]],vrcholy[[i+1,1]]},{vrcholx[[i+1,2]],vrcholy[[i+1,2]]},{vrcholx[[i+1,3]],vrcholy[[i+1,3]]},{vrcholx[[i+1,4]],vrcholy[[i+1,4]]},{vrcholx[[i+1,1]],vrcholy[[i+1,1]]}}],
ctverecplny[[i+1]]=Polygon[{{vrcholx[[i+1,1]],vrcholy[[i+1,1]]},{vrcholx[[i+1,2]],vrcholy[[i+1,2]]},{vrcholx[[i+1,3]],vrcholy[[i+1,3]]},{vrcholx[[i+1,4]],vrcholy[[i+1,4]]},{vrcholx[[i+1,1]],vrcholy[[i+1,1]]}}]},
{i,1,pocetdeleni,1}],
""];

grafik=Show[
Graphics[{
{barvactvercezaklad,Thickness[1.2tloustka],obdelnik},
Table[{barvactverceplneho,Thickness[tloustka],ctverecplny[[i]]},{i,2,pocetdeleni+1,1}],
Table[{barvactverce,Thickness[tloustka],ctverec[[i]]},{i,2,pocetdeleni+1,1}]
}],
FormatType->StandardForm,AspectRatio->Automatic,PlotRange->{{x1,x2},{y1,y2}},ImageSize->500],

{{delka,delka0,Style["a",15,barva]},delkamin,delkamax,deltadelka},
{{pocetdeleni,pocetdeleni0,Style["n",15,barva]},pocetdelenimin,pocetdelenimax,deltapocetdeleni},
ControlPlacement->Left]

Z vrcholu rozhledny ve výšce 10 metrů nad okolním terénem byl vržen kamínek vodorovným směrem rychlostí, jejíž velikost se pohybuje v rozmezí od 1 m.(s^(-1)) do 10 m.(s^(-1)). Určete čas dopadu kamínku na vodorovný terén, na kterém stojí rozhledna a vzdálenost místa dopadu od paty věže. Bez užití vyšší matematiky určete co nejpřesněji délku trajektorie, po níž se kamínek ve vzduchu pohyboval.

Řešení

ClearAll["Global`*"];
h=10;
g=9.81;
v00=5;v0min=1;v0max=10;deltav0=0.5;
n0=1;nmin=1;nmax=20;deltan=1;

barva=Black;
barvakrivky=Red;
barvabodu=Blue;
barvaspojnice=Lighter[barvabodu];
tloustka=0.007;
velikostbodu=0.03;
velikostpisma=18;

Manipulate[
polohax[t_]:=v0 t;
polohay[t_]:=h-(1/2)g (t^2);
reseni=Solve[polohay[cas]==0,cas];
casdopadu=cas/.reseni[[2]];
mistodopadu=polohax[casdopadu];
body=Table[{(mistodopadu/n)i,polohay[(mistodopadu/(v0 n))i]},{i,0,n,1}];
bodykresleni=Point[body];
spojnice=Line[Table[{{body[[i,1]],body[[i,2]]},{body[[i+1,1]],body[[i+1,2]]}},{i,1,n,1}]];
delkaspojnice=Sum[(Sqrt[(((body[[i,1]]-body[[i+1,1]]))^2)+(((body[[i,2]]-body[[i+1,2]]))^2)]),{i,1,n,1}];

Show[
ParametricPlot[{polohax[t],polohay[t]},{t,0,casdopadu},PlotStyle->{barvakrivky,Thickness[tloustka]}],
Graphics[{
{barvabodu,PointSize[velikostbodu],bodykresleni},
{barvaspojnice,Thickness[0.9tloustka],spojnice}
}],PlotRange->{{0,v0max(Sqrt[((2h)/g)])},{0,h}}],
{{v0,v00,Style["(Subscript[v, 0])",15,barva]},v0min,v0max,deltav0},
{{n,n0,Style["počet dělení",15,barva]},nmin,nmax,deltan},
Delimiter,
Dynamic[
Grid[{
{Item[Style[StringJoin["(Subscript[t, dopadu]) = ",ToString[Round[casdopadu,0.01]]," s"],velikostpisma,barva,FontFamily->Times],Alignment->Left]},
{Item[Style[StringJoin["(Subscript[x, dopadu]) = ",ToString[Round[mistodopadu,0.01]]," m"],velikostpisma,barva,FontFamily->Times],Alignment->Left]},
{Item[Style[StringJoin["délka spojnice = ",ToString[Round[delkaspojnice,0.0001]]," m"],velikostpisma,barva,FontFamily->Times],Alignment->Left]}
}]
]
]

Je dána funkce f:y=-2+(1/(x-3)). Sestrojte její graf na intervalu <-5; 10> a na základě něj určete:
a) jakých funkčních hodnot nabývá funkce pro velké hodnoty x;
b) jakých funkčních hodnot nabývá funkce pro malé hodnoty x;
c) jakých funkčních hodnot nabývá funkce pro hodnoty x v okolí bodu (Subscript[x, 0])=3.

Řešení

ClearAll["Global`*"];
funkce[x_]:=-2+(1/(x-3));
graffce=Plot[funkce[x],{x,-5,10},PlotStyle->{Blue,Thickness[0.006]},Exclusions->x-3==0,ExclusionsStyle->{{Red,Dashed,Thickness[0.004]}},PlotRange->{All,{-10,10}}];
grafasymptoty=Plot[-2,{x,-5,10},PlotStyle->{Red,Dashed,Thickness[0.004]},PlotRange->{All,{-10,10}}];
Show[graffce,grafasymptoty]

Je dána funkce f:y=(((x^2)-4)/(x-2)). Pomocí příkazu Manipulate[] zobrazte funkční hodnoty proměnné x v okolí bodu, v němž funkce není definována, a odpovídající funkční hodnoty. Sledujte, jak se mění tyto funkční hodnoty v závislosti na hodnotě proměnné x.

Řešení

ClearAll["Global`*"];
delta0=1;deltamin=-1;deltamax=1;deltakrok=0.001;
barva=Black;
fcef[x_]:=(((x^2)-4)/(x-2));
x0=2;
Manipulate[
{x0+delta,fcef[x0+delta]},
{{delta,delta0,Style["Δx",15,barva]},deltamin,deltamax,deltakrok,Appearance->"Labeled"}]

a)Nakreslete graf funkce f:y=(((x^2)-4)/(x-2)) na intervalu <-5; 5>. Při kreslení grafu vezměte do úvahy definiční obor zadané funkce.
b) Nalezněte funkci g, která vhodným způsobem dodefinuje funkci f tak, aby její definiční obor byl ℝ.
c) Vykreslete do nového systému souřadnic graf funkce g.

Řešení

ClearAll["Global`*"];
fcef[x_]:=(((x^2)-4)/(x-2));
fceg[x_]:=Simplify[fcef[x]];
Plot[fcef[x],{x,-5,5},PlotStyle->{Blue,Thickness[0.006]},Exclusions->x-2==0]
Plot[fceg[x],{x,-5,5},PlotStyle->{Red,Thickness[0.006]}]

Jaroslav Reichl, SPŠST Panská, Praha, © 2010

Limity

Limit[f[x],x->(Subscript[x, 0])] - vypočte limitu funkce f(x) pro x blížící se (Subscript[x, 0]), tj. vypočte výraz (Underscript[lim , x->(Subscript[x, 0])])f(x)

Limit[x+5,x->2]

Limit[((x+5)/x),x->0]

Limit[((x+5)/x),x->∞]

Limit[f[x],x->(Subscript[x, 0]),Direction->1] - vypočte limitu funkce f(x) pro x blížící se (Subscript[x, 0]) zleva, tj. vypočte výraz (Underscript[lim , x->(Subscript[x, 0]^(-))])f(x);
Limit[f[x],x->(Subscript[x, 0]),Direction->-1] - vypočte limitu funkce f(x) pro x blížící se (Subscript[x, 0]) zprava, tj. vypočte výraz (Underscript[lim , x->(Subscript[x, 0]^(+))])f(x).

funkcef[x_]:=4+(2/(x+3));
Print["\!\(\*FormBox[
RowBox[{UnderscriptBox[
RowBox[{"lim", " "}], 
RowBox[{"x", "->", 
RowBox[{"-", SuperscriptBox["3", "-"]}]}]], 
RowBox[{"f", "(", "x", ")"}]}],
TraditionalForm]\) = ",Limit[funkcef[x],x->-3,Direction->1]]
Print["\!\(\*FormBox[
RowBox[{UnderscriptBox[
RowBox[{"lim", " "}], 
RowBox[{"x", "->", 
RowBox[{"-", SuperscriptBox["3", "+"]}]}]], 
RowBox[{"f", "(", "x", ")"}]}],
TraditionalForm]\) = ",Limit[funkcef[x],x->-3,Direction->-1]]
Print["(Underscript[lim , x->-3])f(x) = ",Limit[funkcef[x],x->-3],"!!! Z hlediska matematiky neexistuje (viz graf dané funkce), ale Mathematica počítá standardně místo Limit[f[x],x->(Subscript[x, 0])] limitu Limit[f[x],x->(Subscript[x, 0]),Direction->-1]!!!"]

Jaroslav Reichl, SPŠST Panská, Praha, © 2010

19. úkol: Limity

Vypočtěte limity následujících funkcí v zadaných bodech:
a) f(x)=((sin x)/x) pro x->0;
b) g(x)=((sin 5x)/(3x)) pro x->0;
c) h(x)=((1-cos x)/(x^2)) pro x->0;
d) j(x)=(x/(tg x)) pro x->0;
e) k(x)=((sin (x+(π/9)))/(x+(π/9))) pro x->((-π)/9);
f) l(x)=(((x^2)-3x+2)/(x-2)) pro x->2;
g) m(x)=(((x^3)+27)/((x^2)+4x+3)) pro x->-3.

Řešení

ClearAll["Global`*"];
barva=Black;
velikostpisma=18;
funkce[x_]:={
((Sin[x])/x),((Sin[5x])/(3x)),((1-Cos[x])/(x^2)),(x/(Tan[x])),((Sin[x+(π/9)])/(x+(π/9))),(((x^2)-3x+2)/(x-2)),(((x^3)+27)/((x^2)+4x+3))};
bodlimity={0,0,0,0,-(π/9),2,-3};
pocetuloh=Length[bodlimity];

TableForm[
Table[
StringJoin[ToString[Underscript[Style["lim",barva,velikostpisma,FontFamily->Times],Style[StringJoin["x->",ToString[bodlimity[[i]],TraditionalForm]],barva,0.6velikostpisma,FontFamily->Times]],StandardForm]," ",ToString[Style[ToString[funkce[x][[i]],TraditionalForm],barva,velikostpisma,FontFamily->Times],StandardForm]," = ",ToString[Style[ToString[Limit[funkce[x][[i]],x->bodlimity[[i]]],TraditionalForm],barva,velikostpisma,FontFamily->Times],StandardForm]],
{i,1,pocetuloh,1}]]

Vypočtěte limity následujících funkcí v zadaných bodech s přihlédnutím k možnosti, že daná limita nemusí existovat:
a) f(x)=((x+1)/x) pro x->0;
b) g(x)=(x/(2x+1)) pro x->∞;
c) h(x)=(2/(x-5)) pro x->5;
d) j(x)=((x+3)/((x^2)+6x+9)) pro x->-3;
e) k(x)=tg x pro x->(π/2).

Řešení

ClearAll["Global`*"];
barva=Black;
velikostpisma=18;
funkce[x_]:={
((x+1)/x),(x/(2x+1)),(2/(x-5)),((x+3)/((x^2)+6x+9)),Tan[x]};
bodlimity={0,∞,5,-3,(π/2)};
pocetuloh=Length[bodlimity];
reseni=Table[Null,{i,pocetuloh}];

Table[
{pom1=Limit[funkce[x][[i]],x->bodlimity[[i]],Direction->-1],
pom2=Limit[funkce[x][[i]],x->bodlimity[[i]],Direction->1],
If[pom1==pom2,
reseni[[i]]=pom1,
reseni[[i]]="neexistuje"]},
{i,1,pocetuloh,1}];
TableForm[
Table[
StringJoin[ToString[Underscript[Style["lim",barva,velikostpisma,FontFamily->Times],Style[StringJoin["x->",ToString[bodlimity[[i]],TraditionalForm]],barva,0.6velikostpisma,FontFamily->Times]],StandardForm]," ",ToString[Style[ToString[funkce[x][[i]],TraditionalForm],barva,velikostpisma,FontFamily->Times],StandardForm]," = ",ToString[Style[ToString[reseni[[i]],TraditionalForm],barva,velikostpisma,FontFamily->Times],StandardForm]],
{i,1,pocetuloh,1}]]

Jaroslav Reichl, SPŠST Panská, Praha, © 2010

20. úkol: Motivační úlohy pro derivace

Hmotný bod se pohybuje rovnoměrně zrychleným přímočarým pohybem s nulovou počáteční rychlostí. Sestrojte graf závislosti dráhy uražené hmotným bodem na čase a graf závislosti velikosti rychlosti hmotného bodu na čase. Velikost zrychlení hmotného bodu se přitom může měnit v intervalu od 0.1 m.(s^(-1)) do 1.5 m.(s^(-1)). Grafy sestrojte pro prvních 20 sekund pohybu.
Do grafu závislosti dráhy na čase dále sestrojte linearizovanou dráhu, tj. pohyb rovnoměrně zrychlený nahraďte sledem pohybů rovnoměrných s možností měnit počet linearizovaných pohybů. Totéž proveďte v grafu závislosti velikosti rychlosti na čase.

Řešení

ClearAll["Global`*"];
tmax=20;
g=9.81;
a0=0.5;amin=0.1;amax=1.5;deltaa=0.1;
n0=1;nmin=1;nmax=20;deltan=1;

barva=Black;
barvakrivky=Red;
barvabodu=Blue;
barvaspojnice=Lighter[barvabodu];
tloustka=0.007;
velikostbodu=0.022;
velikostpisma=18;
rozmerobrazku=380;

Manipulate[
draha[t_]:=(1/2)a (t^2);
rychlost[t_]=draha'[t];
body=Table[{(tmax/n)i,draha[(tmax/n)i]},{i,0,n,1}];
bodykresleni=Point[body];
spojnice=Line[Table[{{body[[i,1]],body[[i,2]]},{body[[i+1,1]],body[[i+1,2]]}},{i,1,n,1}]];
rychlostilinearizovane=Table[{((body[[i+1,2]]-body[[i,2]])/(body[[i+1,1]]-body[[i,1]]))},{i,1,n,1}];
bodyrychlosti1=Table[{(tmax/n)(i-1),rychlostilinearizovane[[i,1]]},{i,1,n,1}];
bodyrychlosti2=Table[{(tmax/n)i,rychlostilinearizovane[[i,1]]},{i,1,n,1}];
bodyrychlosti1kresleni=Point[bodyrychlosti1];
bodyrychlosti2kresleni=Point[bodyrychlosti2];

Grid[{
{Show[
Plot[draha[t],{t,0,tmax},PlotStyle->{barvakrivky,Thickness[tloustka]}],
Graphics[{
{barvabodu,PointSize[velikostbodu],bodykresleni},
{barvaspojnice,Thickness[0.9tloustka],spojnice}
}],AxesLabel->{Style["(t/s)",velikostpisma,barva,FontFamily->Times],Style["(s/m)",velikostpisma,barva,FontFamily->Times]},PlotRange->{{0,tmax},{0,(1/2)amax (tmax^2)}},ImageSize->rozmerobrazku]},
{Show[
Plot[rychlost[t],{t,0,tmax},PlotStyle->{barvakrivky,Thickness[tloustka]}],
Table[Plot[rychlostilinearizovane[[i]],{t,body[[i,1]],body[[i+1,1]]},PlotStyle->{barvaspojnice,Thickness[tloustka]}],{i,1,n,1}],
Graphics[{
{barvabodu,PointSize[velikostbodu],bodyrychlosti1kresleni},
{barvabodu,PointSize[velikostbodu],bodyrychlosti2kresleni}
}],AxesLabel->{Style["(t/s)",velikostpisma,barva,FontFamily->Times],Style["(v/(m.(s^(-1))))",velikostpisma,barva,FontFamily->Times]},PlotRange->{{0,tmax},{0,amax tmax}},ImageSize->rozmerobrazku]}
}],
{{a,a0,Style["a",15,barva]},amin,amax,deltaa},
{{n,n0,Style["počet dělení",15,barva]},nmin,nmax,deltan}]

Zobrazte graf funkce f:y=((3 (x^3)-129 x-126)/100). Bez užití vyšší matematiky sestrojte v libovolném bodě jejího definičního oboru tečnu ke grafu zadané funkce f.
(Návod: Místo tečny sestrojujte sečny, u kterých se průsečíky s grafem funkce f postupně přibližují k sobě.)

Řešení

ClearAll["Global`*"];
x1=-10;x2=10;
y1=-10;y2=10;
x00=0;x0min=x1;x0max=x2;deltax0=0.025(x2-x1);
deltax0=1;deltaxmin=-0.4(x2-x1);deltaxmax=0.4(x2-x1);deltadeltax=0.025(x2-x1);

barva=Black;
barvakrivky=Red;
barvabodu1=Blue;
barvabodu2=Darker[Green,0.6];
barvasecny=Magenta;
tloustka=0.006;
velikostbodu=0.022;
velikostpisma=18;

funkce[x_]:=((3 (x^3)-129 x-126)/100);

Manipulate[
bod1={x0,funkce[x0]};
bod2={x0+deltax,funkce[x0+deltax]};
bod1kresleni=Point[bod1];
bod2kresleni=Point[bod2];
reseni=Quiet[Solve[
{bod1[[2]]==kpom bod1[[1]]+qpom,
bod2[[2]]==kpom bod2[[1]]+qpom},
{kpom,qpom}]];
If[deltax≠0,
{k=kpom/.reseni[[1]],
q=qpom/.reseni[[1]],
secna[x_]:=k x+q},
secna[x_]:=2y1
(*V případě, že oba body splynou, není možné rovnici sečny jednoznačně určit.
Proto se v tom případě nadefinuje nesmyslná sečna, která se v grafu při daném rozmezí os nezobrazí. Nevzniknou tak ovšem problémy s jejím vykreslením pomocí příkazu Plot[]*)];

Show[
Plot[funkce[x],{x,x1,x2},PlotStyle->{barvakrivky,Thickness[tloustka]}],
Plot[secna[x],{x,x1,x2},PlotStyle->{barvasecny,Thickness[tloustka]}],
Graphics[{
{barvabodu1,PointSize[velikostbodu],bod1kresleni},
{barvabodu2,PointSize[velikostbodu],bod2kresleni}
}],AxesLabel->{Style["x",velikostpisma,barva,FontFamily->Times],Style["y",velikostpisma,barva,FontFamily->Times]},PlotRange->{{x1,x2},{y1,y2}},ImageSize->500],

{{x0,x00,Style["(Subscript[x, 0])",15,barvabodu1]},x0min,x0max,deltax0},
{{deltax,deltax0,Style["Δx",15,barvabodu2]},deltaxmin,deltaxmax,deltadeltax}]

Jaroslav Reichl, SPŠST Panská, Praha, © 2010

Derivace

D[f[promenna],promenna] - vypočte první derivaci funkce f(promenna) podle proměnné promenna;
f'[x] - vypočte první derivaci funkce f(x), která je závislá POUZE na proměnné x podle této proměnné (ve funkci mohou být další neznámé jako parametry);

D[(x^3)+4 (x^2)-5x+2,x]

Clear[a,b]
funkce[x_]:=2(x^2)+a x-Sin[b x];
D[funkce[x],x]
funkce'[x]

D[x+a (x^2)+b a -a Sin[b x],x]
D[x+a (x^2)+b a -a Sin[b x],a]
D[x+a (x^2)+b a -a Sin[b x],b]

funkce2[x_,y_]:=(x^2)+y x+y Cos[(Sqrt[x])]
D[funkce2[x,y],x]
D[funkce2[x,y],y]

D[f[promenna],{promenna,n}] - vypočte n-tou derivaci funkce f(promenna) podle proměnné promenna;
f''''[x] - vypočte čtvrtou derivaci funkce f(x), která je závislá POUZE na proměnné x podle této proměnné (ve funkci mohou být další neznámé jako parametry).

D[(x^4)+(E^(-4x)),{x,3}]

funkce3[x_]:=(x^5)
funkce3'''''[x]

Jaroslav Reichl, SPŠST Panská, Praha, © 2010

21. úkol: Derivace

Vypočtěte derivace zadaných funkcí podle proměnné x:
a) f:y=2(x^4)-3(x^2)+17x+1;
b) g:y=(sin^2) (x^3);
c) h:y=(e^(2x-1))+x-3;
d) j:y=ln x;
e) k:y=(Subscript[log, 2])x+cos (5x).

Řešení

ClearAll["Global`*"];
barva=Black;
velikostpisma=18;
funkce[x_]:={
2(x^4)-3(x^2)+17x+1,((Sin[(x^3)])^2),(E^(2x-1))+x-3,Log[x],Log[2,x]+Cos[5x]};
pocetuloh=Length[funkce[x]];

TableForm[
Table[
StringJoin[ToString[Style["(",barva,velikostpisma,FontFamily->Times],StandardForm],ToString[Style[ToString[funkce[x][[i]],TraditionalForm],barva,velikostpisma,FontFamily->Times],StandardForm],ToString[Style[")' = ",barva,velikostpisma,FontFamily->Times],StandardForm],ToString[Style[ToString[D[funkce[x][[i]],x],TraditionalForm],barva,velikostpisma,FontFamily->Times],StandardForm]],
{i,1,pocetuloh,1}],TableSpacing->{3,1}]

Odvoďte vztah pro derivaci součtu, rozdílu, součinu a podílu dvou funkcí, u kterých mají uvedené operace smysl.

Řešení

ClearAll["Global`*"];
Print["Derivace součtu funkcí f(x) a g(x): (f(x) + g(x))' = ",D[f[x]+g[x],x],"."]
Print["Derivace rozdílu funkcí f(x) a g(x): (f(x) - g(x))' = ",D[f[x]-g[x],x],"."]
Print["Derivace součinu funkcí f(x) a g(x): (f(x) . g(x))' = ",D[f[x]g[x],x],"."]
Print["Derivace podílu funkcí f(x) a g(x): (((f(x))/(g(x))))' = ",D[((f[x])/(g[x])),x]//Simplify,"."]

Zobrazte graf funkce f:y=((3 (x^3)+3(x^2)-150 x+300)/100). Sestrojte v libovolném bodě jejího definičního oboru tečnu ke grafu zadané funkce f.

Řešení

ClearAll["Global`*"];
x1=-10;x2=10;
y1=-10;y2=10;
x00=0;x0min=x1;x0max=x2;deltax0=0.025(x2-x1);

barva=Black;
barvakrivky=Red;
barvabodu=Blue;
barvatecny=Magenta;
tloustka=0.006;
velikostbodu=0.022;
velikostpisma=18;

funkce[x_]:=((3 (x^3)+3(x^2)-150 x+300)/100);

Manipulate[
bod={x0,funkce[x0]};
bodkresleni=Point[bod];
derivace[x_]=funkce'[x];
smernice=derivace[x0];
reseni=Solve[bod[[2]]==smernice bod[[1]]+qpom,qpom];
q=qpom/.reseni[[1]];
tecna[x_]:=smernice x+q;

Show[
Plot[funkce[x],{x,x1,x2},PlotStyle->{barvakrivky,Thickness[tloustka]}],
Plot[tecna[x],{x,x1,x2},PlotStyle->{barvatecny,Thickness[tloustka]}],
Graphics[{
{barvabodu,PointSize[velikostbodu],bodkresleni}
}],AxesLabel->{Style["x",velikostpisma,barva,FontFamily->Times],Style["y",velikostpisma,barva,FontFamily->Times]},PlotRange->{{x1,x2},{y1,y2}},ImageSize->500],

{{x0,x00,Style["(Subscript[x, 0])",15,barvabodu]},x0min,x0max,deltax0}]

Zobrazte graf funkce f:y=((x^3)/3)-(x^2)-15 x+3 a najděte její lokální extrémy. Vypište souřadnice a typ těchto lokálních extrémů.

Řešení

ClearAll["Global`*"];
x1=-10;x2=10;
y1=-10;y2=10;

barva=Black;
barvakrivky=Red;
barvabodu=Blue;
tloustka=0.006;
velikostbodu=0.022;
velikostpisma=15;

funkce[x_]:=(( (x^3))/3)-(x^2)-15 x+3;
derivace[x_]=funkce'[x];
derivace2[x_]=funkce''[x];

Plot[funkce[x],{x,x1,x2},PlotStyle->{barvakrivky,Thickness[tloustka]},AxesOrigin->{0,0},AxesLabel->{Style["x",velikostpisma,barva,FontFamily->Times],Style["y",velikostpisma,barva,FontFamily->Times]}]
reseni=Solve[derivace[xpom]==0,xpom];
If[reseni≠{}∧reseni≠{{}},
{pocetreseni=Length[reseni],
koreny=Table[Null,{i,1,pocetreseni,1}],
vypiskorenu=Table[Null,{i,1,pocetreseni,1}],
vypis="",
Table[
{koreny[[i]]=xpom/.reseni[[i,1]],
If[derivace2[koreny[[i]]]>0,
vypiskorenu[[i]]=Print["V bodě [",koreny[[i]],"; ",funkce[koreny[[i]]],"] je lokální minimum."],
If[derivace2[koreny[[i]]]<0,
vypiskorenu[[i]]=Print["V bodě [",koreny[[i]],"; ",funkce[koreny[[i]]],"] je lokální maximum."],
vypiskorenu[[i]]=Print["V bodě [",koreny[[i]],"; ",funkce[koreny[[i]]],"] není lokální extrém."]]]},
{i,1,pocetreseni,1}]},
vypis="Lokální extrémy neexistují."];
If[vypis=="",
TableForm[
Table[vypiskorenu[[i]],{i,1,pocetreseni,1}]],
Print[vypis]];

Jaroslav Reichl, SPŠST Panská, Praha, © 2010

Integrály

Integrate[f[x],x] - vypočte primitivní funkci (tj. neurčitý integrál) funkce f(x) v závislosti na proměnné x;
∫f[x]dx - alternativní zápis téže funkce;
Poznámka: Znak ∫ pro označení neurčitého integrálu lze zapsat takto: EscintEsc, znak d pro označení proměnné, podle níž se integreguje, lze psát takto: EscddEsc.

funkce[x_]:=(x^3)+Sin[3x]-(E^(-4x+1))-2;
Integrate[funkce[x],x]
∫funkce[x]\[DifferentialD]x

Integrate[f[x],{x, (Subscript[x, min]),(Subscript[x, max])}] - vypočte určitý integrál funkce f(x) na intervalu od (Subscript[x, min]) do (Subscript[x, max]) v závislosti na proměnné x;
(∫_(Subscript[x, min])^(Subscript[x, max]))f[x]dx - alternativní zápis téže funkce;

Integrate[(x^2),{x,-1,5}]
(∫_(-1)^5)(x^2)\[DifferentialD]x

Clear[a,b,c,α,β];
funkce[x_]:=a x+b Cos[c x];
(∫_(α+1)^β)funkce[x]\[DifferentialD]x

NIntegrate[f[x],{x, (Subscript[x, min]),(Subscript[x, max])}] - vypočte numerickou hodnotu určitého integrálu funkce f(x) na intervalu od (Subscript[x, min]) do (Subscript[x, max]) v závislosti na proměnné x. Používá se pro funkce, které není možné integrovat symbolicky - tj. pro funkce, jejichž primitivní funkce neexistují.

Jaroslav Reichl, SPŠST Panská, Praha, © 2010

22. úkol: Integrály

Vypočtěte primitivní funkce zadaných funkcí v závislosti na proměnné x:
a) f:y=(x^3)+4(x^2)-11x+2;
b) g:y=(cos^2)(x/3) ;
c) h:y=(e^(-5x+2))+4;
d) j:y=ln x;
d) k:y=(Sqrt[3x+1]);

Řešení

ClearAll["Global`*"];
barva=Black;
velikostpisma=18;
funkce[x_]:={
(x^3)+4(x^2)-11x+2,((Cos[(x/3)])^2),(E^(-5x+2))+4,Log[x],(Sqrt[3x+1])};
pocetuloh=Length[funkce[x]];

TableForm[
Table[
StringJoin[ToString[Style["∫(",barva,velikostpisma,FontFamily->Times],StandardForm],ToString[Style[ToString[funkce[x][[i]],TraditionalForm],barva,velikostpisma,FontFamily->Times],StandardForm],ToString[Style[") \[DifferentialD]x = ",barva,velikostpisma,FontFamily->Times],StandardForm],ToString[Style[ToString[Integrate[funkce[x][[i]],x],TraditionalForm],barva,velikostpisma,FontFamily->Times],StandardForm]],
{i,1,pocetuloh,1}],TableSpacing->{3,1}]

Je dána funkce f:y=(x^2)-2x+3. Najděte k této funkci primitivní funkci F, která prochází bodem A=[1; 50]. Obě funkce zobrazte do grafu.

Řešení

ClearAll["Global`*"];
barva=Black;
barvafce=Red;
barvaPF=Blue;
barvabodu=Magenta;
tloustka=0.006;
velikostbodu=0.03;

funkce[x_]:=(x^2)-2x+3;
bodA={1,50};

primfce[x_]=∫funkce[x]\[DifferentialD]x+konst;
reseni=Solve[primfce[bodA[[1]]]==bodA[[2]],konst];
konstanta=konst/.reseni[[1]];
primfce[x_]=primfce[x]/.konst->konstanta;

graffce=Plot[{funkce[x],primfce[x]},{x,-10,10},PlotStyle->{{barvafce,Thickness[tloustka]},{barvaPF,Thickness[tloustka]}}];
kreslibod=Graphics[{barvabodu,PointSize[velikostbodu],Point[bodA]}];
Show[
graffce,
kreslibod,
AxesOrigin->{0,0},AxesLabel->{Style["x",15,barva,FontFamily->Times],Style["y",15,barva,FontFamily->Times]}]
Print["Primitivní funkce k funkci f: y = ",funkce[x]," je funkce F: y = ",primfce[x],"."]

Vypočtěte obsah plochy pod jedním "obloukem" grafu funkce y=sin(x/2). Zadanou funkci a uvažovanou plochu vykreslete do grafu.

Řešení

ClearAll["Global`*"];
barva=Black;
barvafce=Red;
barvaplochy=Lighter[barvafce,0.75];
tloustka=0.006;

funkce[x_]:=Sin[(x/2)];
graffce=Plot[funkce[x],{x,0,5π},PlotStyle->{barvafce,Thickness[tloustka]}];
grafplochy=Plot[funkce[x],{x,0,2π},PlotStyle->{barvafce,Thickness[tloustka]},Filling->Axis,FillingStyle->barvaplochy];
Show[
graffce,
grafplochy,
AxesOrigin->{0,0},AxesLabel->{Style["x",15,barva,FontFamily->Times],Style["y",15,barva,FontFamily->Times]}]
Print["Obsah hledané plochy je ",(∫_0^(2π))funkce[x]\[DifferentialD]x," (j^2)."]

Vypočtěte obsah plochy ohraničené grafy funkcí f:y=(x^2)-4x+5 a g:y=x+1. Zadané funkce a uvažovanou plochu vykreslete do grafu.

Řešení

ClearAll["Global`*"];
barva=Black;
barvafce1=Red;
barvafce2=Blue;
barvaplochy=Lighter[barvafce1,0.75];
barvapopisuos=Magenta;
tloustka=0.006;

funkcef[x_]:=(x^2)-4x+5;
funkceg[x_]:=x+1;

reseni=Solve[funkcef[x]==funkceg[x],x];
dolnimez=x/.reseni[[1,1]];
hornimez=x/.reseni[[2,1]];
graffce=Plot[{funkcef[x],funkceg[x]},{x,0,5},PlotStyle->{{barvafce1,Thickness[tloustka]},{barvafce2,Thickness[tloustka]}}];
grafplochy=Plot[{funkcef[x],funkceg[x]},{x,dolnimez,hornimez},PlotStyle->{{barvafce1,Thickness[tloustka]},{barvafce2,Thickness[tloustka]}},Filling->{1->{2}},FillingStyle->barvaplochy];
Show[
graffce,
grafplochy,
AxesOrigin->{0,0},AxesLabel->{Style["x",15,barva,FontFamily->Times],Style["y",15,barva,FontFamily->Times]},PlotRange->All,Ticks->{{dolnimez,hornimez},{funkcef[dolnimez],funkcef[hornimez]}},TicksStyle->Directive[barvapopisuos,15,Bold]]
Print["Obsah hledané plochy je ",(∫_dolnimez^hornimez)(funkceg[x]-funkcef[x])\[DifferentialD]x," (j^2)."]

Vypočtěte objem tělesa, které vznikne rotací plochy ohraničené grafy funkcí f:y=(x^3) a g:y=(Sqrt[x]) kolem osy x. Zadané funkce a uvažovanou plochu vykreslete do grafu.

Řešení

ClearAll["Global`*"];
barva=Black;
barvafce1=Red;
barvafce2=Blue;
barvaplochy=Lighter[barvafce1,0.75];
barvapopisuos=Magenta;
tloustka=0.006;

funkcef[x_]:=(x^3);
funkceg[x_]:=(Sqrt[x]);

reseni=Solve[funkcef[x]==funkceg[x],x];
dolnimez=x/.reseni[[1,1]];
hornimez=x/.reseni[[2,1]];
graffce=Plot[{funkcef[x],funkceg[x]},{x,0,(3/2)},PlotStyle->{{barvafce1,Thickness[tloustka]},{barvafce2,Thickness[tloustka]}}];
grafplochy=Plot[{funkcef[x],funkceg[x]},{x,dolnimez,hornimez},PlotStyle->{{barvafce1,Thickness[tloustka]},{barvafce2,Thickness[tloustka]}},Filling->{1->{2}},FillingStyle->barvaplochy];
Show[
graffce,
grafplochy,
AxesOrigin->{0,0},AxesLabel->{Style["x",15,barva,FontFamily->Times],Style["y",15,barva,FontFamily->Times]},PlotRange->All,Ticks->{{dolnimez,hornimez},{funkcef[dolnimez],funkcef[hornimez]}},TicksStyle->Directive[barvapopisuos,15,Bold]]
Print["Objem hledaného tělesa je ",(∫_dolnimez^hornimez)(((funkceg[x])^2)-((funkcef[x])^2))\[DifferentialD]x," (j^3)."]

Jaroslav Reichl, SPŠST Panská, Praha, © 2010