Grafy

Nejdøíve si zadefinujeme nìjakou pìknou funkci ;-) :

> f := x -> x + 2*x^2*sin(1/x);

[Maple Math]

Podíváme se na nìjaký její jednoduchý graf.

> plot(f(x), x=-1/2..1/2, y=-1/2..1/2, color=blue, numpoints=500,title=`Tohle je graf ;-)`);

[Maple Plot]

Tak takhle pìknì jsme to nakreslily, volba numpoints urèuje v kolika bodech se funkèní hodnoty kreslí. Bez ní by tento graf vypadal trochu nepìknì - nepøesnì a hranatì ;-), ale uvìtšiny ostatních grafù není potøeba. Oznaèení y je standartní oznaèení pro druhou osu, toto lze pøedefinovat pomocí volby axes - viz help na plot a na plot[options] .

V pøípadì, že funkce je nespojitá mùže nám nastat následující problém.

> plot(1/(x-1), x=-4..6, y=-5..5);

[Maple Plot]

Všimnìte si nehezké èáry v bodì nespojitosti x = 1. Tu odstraníme pøidáním podmínky discont=true

> plot(1/(x-1), x=-4..6, y=-5..5, discont=true);

[Maple Plot]

Nakreslit jeden graf nám èasto nestaèí, a tak se teï budeme zabývat vytváøením více grafù najednou. S grafy manipuluje knihovna plots.

> with(plots);

[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]

Teï slíbených více grafù najednou. Zobrazujeme je pomocí funkce display.

> plotf := plot(f(x), x=-1/2..1/2, y=-1/2..1/2, color=red, numpoints=500):

> plot1 := plot(x+2*x^2, x=-1/2..1/2, y=-1/2..1/2, linestyle=10,color=blue):

> plot2 := plot(x-2*x^2, x=-1/2..1/2, y=-1/2..1/2, linestyle=10,color=blue):

> display([plot1,plot2,plotf], title=`Tohle jsou grafy ;-)`);

[Maple Plot]

Maple umí i jiné zajímavé "grafy".

> plot1:= plot(sin(x),x=-Pi/2..Pi/2):

> plot2:= plot(cos(x),x=-Pi/2..Pi/2,color=blue):

> plot3:= textplot([[Pi/4+0.2,sqrt(2)/2,`Tady se protnou ;-)`],[-1,0.4,`A tady nic není`]],align={RIGHT}):

> plot4:= pointplot([Pi/4,sqrt(2)/2],symbol=CIRCLE):

> display({plot1,plot2,plot3,plot4}, title=`Hezké, ne?`);

[Maple Plot]

Teï se podíváme na grafy implicitnì zadané funkce. Takhle zobrazí Maple Descartesùv list:

> implicitplot(x^3+y^3-2*x*y=0, x=-2..2, y=-2..2,numpoints=5000, color=red);

[Maple Plot]

Malá poznámka k volbì numpoints: tato volba není u vìtšiny pøíkladù vùbec nutná. Obyèejnì staèí základní nastavení (to je 50). Toto nastavení sice èasto nestaèilo, ale Maple je nadán "pøirozenou inteligencí" a sám volí hodnoty tak aby nakreslená køivka, co nejvíce odpovídala skuteèné funkci. V nìkterých pøíkladech bohužel jeho "chytrost" zklame. Descartùv list je jedním z nich..

Mùžeme zobrazit i paramatetrické funkce. Na to nám vystaèí pouhá funkce plot.

> plot([cos(t),sin(t), t=0..2*Pi], title=`Toto je kružnice. ;-)`);

[Maple Plot]

Maple umí ještì i další triky s dvourozmìrnými grafy. Než pøejdeme ke grafùm v trojrozmìrném prostoru ukážeme si ještì jeden kousek pro fyziky:

> fieldplot([cos(x),sin(y)],x=0..Pi,y=0..2*Pi, title=`Vektorové pole ;-)`);

[Maple Plot]

V trojrozmìrném prostoru kreslíme grafy pomocí plot3d:

> plot3d(1/5*x^2+sin(x*y), x=-Pi..Pi, y=-Pi..Pi, style=patch, axes=boxed, title=`Takhle vypadá 3d graf ;-)`);

[Maple Plot]

Grafy mùžeme kreslit i v jiných souøadnicích než kartézských, napøíklad ve sférických.

> plot3d({y*sin(x),x}, x=0..2*Pi, y=-2*Pi..2*Pi, style=wireframe, coords=spherical, axes=frame, title=`Prùnik dvou 3d grafù ve sférických souøadnicích`);

[Maple Plot]

Poznámka : v nadpisu pøedchozího grafu mùžeme vidìt nemilé pøekvapení, které nám Maple pøipravuje s nìkterými èeskými znaky :(. Nezbývá nám nic jiného než se tìmto znakùm vyhnout nebo poèkat na novìjší verzi.

Pøi kreslení dalších druhù grafù Vám dopomáhej Bùh a help na plots ;-) .

To jak se kreslí grafy k numerickým øešením diferenciálních rovnic najdete v listu Základy numerické matematiky .