> # Kreslení grafů funkcí a animací

# Definice funkcí

> F:=x->x^3+2*x^2-x+1;
# Definice funkce

# -> přiřazení,

# za znakem přiřazení - definice funkce

# před znakem přižazení - proměnná

F := proc (x) options operator, arrow; x^3+2*x^2-x+1 end proc

> F(3); # Funkční hodnota funkce F v bodě 3

43

> f(3); # POZOR - názvy funkcí jsou citlivé na malá a velká písmena

f(3)

> G:=(x,t)->t * cos (x); # Funkce více proměnných

G := proc (x, t) options operator, arrow; t*cos(x) end proc

> G(3); # počet proměnných se musí dodržet

Error, (in G) G uses a 2nd argument, t, which is missing

> G(3,t);

t*cos(3)

> G(3.2,3);

-2.994884327

> # Kreslení grafu funkce
plot(F(x),x=-5..5,y=-50..100,color=red);

# První parametr - funkce

# druhý parametr tvaru "proměnná"="levá mez".."pravá mez"

# třetí parametr - nepovinný -
tvaru y="dolní mez".."horní mez"
# další možné parametry - nepovinné barva, ... viz pravé tlačítko

[Plot]

> plot(G(x,t),x=0..2*Pi); # Graf musí mít právě jednu proměnnou

Warning, unable to evaluate the function to numeric values in the region; see the plotting command's help page to ensure the calling sequence is correct

Error, empty plot

> plot(G(x,3),x=0..2*Pi); # Parametr se musí zvolit - konkr. zde t=3
# U příkazu plot se musí stát jedna proměnná parametrem

[Plot]

> plot(sin (x),x=0..2*Pi,color=blue); # Funkci lze samozřejmě definovat až v příkazu plot

[Plot]

>





# Více funkcí do jednoho grafu

#
1 - použití datového typu list - viz kap. 2 - datové listy
# Místo funkce se použije list funkcí, meze zůstávají,

#
místo parametru se použije list parametrů,
# Všechny listy musí mít stejný počet prvků,

# První prvek listů platí pro první funkci, druhý pro druhou...

> plot([G(x,1),G(x,2),G(x,0.5)],x=0..4*Pi,color=[red, blue, green], style=[line,line,point]);

[Plot]

> # Více funkcí do jednoho grafu
# 2 - použití příkazu with

> with(plots):

Warning, the name changecoords has been redefined

> graf1:=plot(sin (x),x=0..4*Pi): #výpočet prvního grafu - nutno končit :, NÉ ;

> graf2:=plot(G(x,2),x=0..4*Pi):

> display({graf1,graf2});

[Plot]

>

with(plots):

graf1:=plot(sin (x),x=0..4*Pi):

> graf2:=plot(G(x,2),x=0..2*Pi):

> display({graf1,graf2});

[Plot]

> # lze použít i různé meze

>

# Animace - závislost změny grafu na parametru

> H:=(x,t)->t*sin(t*x);

H := proc (x, t) options operator, arrow; t*sin(t*x) end proc

> animate( plot, [H(x,t), x=0..10], t=0..2 );# Před příkazem animate musí někdy být použit with(plots)

[Plot]

> # Pro přehrání animace
# 1 - Klikněte na graf pravým tlačítkem a zvolte - Animation - Play

> # 2 - Po kliknutí na graf levým tlačítkem se v třetím rádku menu objeví menu animací.

>

> # Úkol 1: Nakreslete grafy do jednoho grafu pro funkce s parametrem t=1, t=2 a t=1/2
#         a po
té vytvořte podle parametru animaci:
#        a -  sin (t*x)

#        b -  sin(x^t)

#        c -  t*sin x

#
       d -  to samé pro cos, tg, cotg

> # Úkol 2: Nakeslete graf:

> exp(x)*sin(x),exp(-x)*sin(x);

exp(x)*sin(x), exp(-x)*sin(x)

> # Který graf z předchozích popisuje tlumené kmity ??

> # Úkol 3: Nakreslete násl grafy:

> ln(x), ln(x^2), ln (sin(x)), sin(ln(x)), sin(x)+cos(x), sin (x)*cos(x), (sin(x))^2, sqrt(sin(x));

>

ln(x), ln(x^2), ln(sin(x)), sin(ln(x)), sin(x)+cos(x), sin(x)*cos(x), sin(x)^2, sin(x)^(1/2)

> # Úkol 4: Harmonické funkce:

> harmoni:=(x,t)->sin(x)+sin(x/t);

harmoni := proc (x, t) options operator, arrow; sin(x)+sin(x/t) end proc

> # Animujte podle parametru t (t je přirozené číslo), z animace určete závislost periody na parametru t
#
a určenou závislost ověřte analyticky.

>

>