Grafy
Nejdøíve si zadefinujeme nìjakou pìknou funkci ;-) :
> f := x -> x + 2*x^2*sin(1/x);
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 ;-)`);
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ìtiny 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);
Vimnì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);
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);
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 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?`);
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);
Malá poznámka k volbì numpoints: tato volba není u vìtiny 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 bohuel 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 krunice. ;-)`);
Maple umí jetì i dalí triky s dvourozmìrnými grafy. Ne pøejdeme ke grafùm v trojrozmìrném prostoru ukáeme si jetì jeden kousek pro fyziky:
> fieldplot([cos(x),sin(y)],x=0..Pi,y=0..2*Pi, title=`Vektorové pole ;-)`);
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 ;-)`);
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`);
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 øeením diferenciálních rovnic najdete v listu Základy numerické matematiky .