OBECNÁ PONAUČENÍ

!!! Mathematica rozlisuje mala a velka pismena!!! Prikazy zacinaji velkym pismenem.
Zavorky: Prikazy maji sve argumenty v hranatych zavorkach. []
	   Sdruzovani vyrazu. ()
	   Sdruzovani objektu stejneho typu, (listy, mnoziny,...) syntaxe Mathematicy. {}
Oznaceni promennych nesmi zacinat cislici.
Desetinny jsou oddeleny teckou, ne carkou.
Vystup se nezobrazi, napiseme-li za prikazem strednik.
Do jedne bunky (Cell) lze zadat vice prikazu.
Vypocet prikazu spustime pravym Enter nebo Shift + Enter. Levy Enter jen zpristupni dalsi radek jedne bunky.

okamzite prirazeni (Set) - hned

x=4

odlozene prirazeni (SetDelayed) - az, kdyz pouzijeme y

y:=5

y

rovnice (jako logicka funkce)

z==6+(z^2)
x==5x-16
x==2x+3

Help

?Sin

?*Sin

?Arc*

??Sin

Zabudované konstanty

Pi(*Ludolfovo cislo*)
E (*Eulerovo cislo*)
I(*imaginarni jednotka*)
Infinity(*nekonecno*)

Vyčíslení výsledku

a=(Sqrt[2])

N[a]

a//N

N[Pi]

N[Pi,10]

Kvuli uchovani presnosti nekdy neobdrzime vysledek dle ocekavani:

Sin[5]

Vyresime to

Sin[5]//N

Nebo (tecka za cislem predstira nepresnost argumentu, tedy i vysledek neni presny, a tak je vysiclen desetinne)

Sin[5.]

Vysledek predchozi operace: % (pozor na cisla vystupu Out)

%

2*%

obdobne predpredposledni vysledek (prapra...),atd.

%%
%%%

V jedne bunce omyl nehrozi

123
%*2

Vysledek konkretni operace : % cislo

%26

%27/2

!! To, co vidime v notebooku, je jen graficke rozhrani.Vse se pocita v Kernelu (jadre).Do nej nevidime, proto se nekdy vyplati ho vycistit : Kernel -> Quit Kernel -> Local.Kdyz spustime pred timto notebookem jine, nebudou napr.posledni 2 prikazy delat to, co chceme.

Definice listu

Table[x+1,{x,3,6,0.2}] (* Zde se vytvoří list s čísly, vypsaný po 0.2 pro x od 3 do 6 *)

Table[StyleForm[TraditionalForm[Mathematica],FontFamily->"Times",FontSize->i,FontColor->Hue[0.02*i]],{i,5,50,3}]

Table[(Subscript[a, i])+x^i+1,{i,5}]

Range[5,10]

v={a,b,c,ahoj,Pi,e,f,h,E,2,5}

Length[v]

Part[v,2]

v[[2]]

Table[v[[i]],{i,1,8,2}]

Hraní si s funkcemi a vykreslování

Plot[Sin[x],{x,0,2Pi},AxesLabel->{"x","y"},PlotLabel->"Tohle je graf Sin[x]"]

Plot3D[Sin[x]*Cos[y],{x,-5,5},{y,-4,4},ViewPoint->{-1.019, -0.862, 2.871}]

Plot[{Sin[x],Cos[x]},{x,0,6.25},AxesLabel->{"x","y"},PlotLabel->"Tohle je graf Sin[x] a Cos[x]",PlotStyle->{{Hue[1]},{RGBColor[0,0,1],Dashing[{0.10,0.05}]}},Ticks->{{0,(π/2),π,((3 π)/2),2 π},Automatic},AxesStyle->{RGBColor[1,0,0],Thickness[0.006]}]

Plot[{Sin[x],Cos[x]},{x,0,6.25},PlotLabel->"Tohle je graf Sin[x] a Cos[x]",PlotStyle->{Hue[1],RGBColor[0,0,1],RGBColor[0,1,0]},Frame->True,GridLines->{{0,(π/2),π,((3 π)/2),2 π},{-1,-0.5,0.5,1}},FrameTicks->{{0,(π/2),π,((3 π)/2),2 π},{-1,-0.5,0,0.5,1}}]

deleni=0.1;
body=Table[{x,Sin[x]},{x,0,3Pi,deleni}]

ListPlot[body,AxesLabel->{"x","y"},PlotStyle->PointSize[0.01],PlotLabel->"Tohle je graf Sin[x] složený z bodů"(*,PlotJoined->True*)]

Animace grafu

Animate[Plot[Sin[x+a],{x,0,10}],{a,0,5},AnimationRunning->False]

Definice funkce:

f[x_]:=x^2*Sin[x]/;x>0
f[x_]:=x^2/;x≤0

f[3]

Operace s rovnicemi

FindRoot[3Cos[x]==Log[x],{x,1}]

Plot[{3Cos[x],Log[x]},{x,0,5},PlotRange->{{0,5},{-4,4}},Epilog->{Hue[1],PointSize[0.03],Point[{x,Log[x]}/.%]}]

Diferenciální rovnice

Kvůli vyčištění proměnných, zde použijeme příkaz clear, aby nedošlo k použití nějakých hodnot z předchozích příkladů

ClearAll[y,x,a]

rovnice={y''[x]==a y[x]+1,y[0]==0,y'[0]==0}

res=y[x]/.DSolve[rovnice,y[x],x]

Plot[Evaluate[res/.a->-x],{x,-0.5,20},PlotRange->All]

Diferenciální rce - numerické řešení (výsledek ve formě interpolační funkce)

result=NDSolve[{y''[t]+0.1 y'[t]==-Sin[y[t]],y[0]==1,y'[0]==0},y,{t,0,50}]

Plot[y[x]/.result,{x,0,30}]

Příklad na více grafů

fce1=Sin[x];
fce2=(0.7)*Sin[3x];
fce3=(0.5)*(-Sin[5x]);
fce4=Sin[3x-(1/3)*π];
fce5=Sin[3x-(2/3)*π];
fce6=Sin[3x-π];

obr1=Plot[{fce1,fce2,fce3},{x,0,2π},AxesLabel->{t, ""},PlotStyle->{{RGBColor[1,0,0],Thickness[0.004]},{RGBColor[0,1,0],Thickness[0.004]},{RGBColor[0,0,1],Thickness[0.004]}},PlotRange->{-1.5,1.5},Ticks->{{0,{Pi/4,""},Pi/2,{3Pi/4,""},Pi,{5Pi/4,""},3Pi/2,{7Pi/4,""},2Pi},None},Axes->{True,False}]
(*Export["Harmonicke.png",obr1,ImageResolution->600]*)

fcesum=fce1+fce2+fce3;
obr2=Plot[{fcesum,fce1,fce2,fce3},{x,0,2π},AxesLabel->{t,""},PlotStyle->{{RGBColor[1,0,1],Thickness[0.004]},{RGBColor[1,0,0],Thickness[0.002],Dashing[{0.005,0.005}]},{RGBColor[0,1,0],Thickness[0.002],Dashing[{0.005,0.005}]},{RGBColor[0,0,1],Thickness[0.002],Dashing[{0.005,0.005}]}},Ticks->{{0,{Pi/4,""},Pi/2,{3Pi/4,""},Pi,{5Pi/4,""},3Pi/2,{7Pi/4,""},2Pi},None},Axes->{True,False}]

Rozběh SS motoru

doscis={j->0.01,b->0.1,k->0.01,r->1,L->0.5};

rce={j*Θ''[t]+b*Θ'[t]==k*i[t],L*i'[t]+r*i[t]==u[t]-k*Θ'[t]}/.{Θ'[t]->ω[t],Θ''[t]->ω'[t]}

rcepoc={i[0]==0,ω[0]==0};
rcend=Union[rce/.doscis/.u[t]->1,rcepoc]

resωi=NDSolve[rcend,{ω,i},{t,0,4}]

Plot[ω[t]/.resωi,{t,0,3},AxesLabel->{"t[s]","ω[(s^(-1))]"},PlotRange->All]

Plot[i[t]/.resωi,{t,0,3},AxesLabel->{"t[s]","i[A]"},PlotRange->All]