Příklad 2
Spočtěte zadaný křivkový integrál podél kladně orientovaného obvodu trojúhelníku určeného souřadnicovými osami a přímkou
> | restart: |
> | Int([0,x]*`.`,S=gamma..``); |
> | with(VectorCalculus):with(plots): |
Warning, the assigned names <,> and <|> now have a global binding
Warning, these protected names have been redefined and unprotected: *, +, ., Vector, diff, int, limit, series
Warning, the name changecoords has been redefined
> | vpole:=[0,x]; |
# Pojmenujeme integrand. První prvek je nulový, protože zde nemáme integraci přes dx .
Rovnice zadané přímky je
> | pr:=x/2+y/3=1; |
Nakresleme obrázek
> | vplot := fieldplot(vpole,x=-1..3,y=-1..3, grid=[10,10]): |
# Nakreslení vektorového pole pomocí příkazu z rozšiřující knihovny plots .
Průsečíky přímky se souřadnicovými osami jsou
> | b:=[[2,0],[0,3]]; |
Nakreslíme obrázek
> | par_p:=polygonplot([[0,0],op(1..2,b)],thickness=3): |
# Vykreslení trojúhelníka pomocí příkazu polygonplot . Druhý parametr thickness určuje šířku pera.
> | p1:=arrow([0,0],[2,0],difference=true,width=0.1): p2:=arrow([2,0],[0,3],difference=true,width=0.1): p3:=arrow([0,3],[0,0],difference=true,width=0.1): |
# Nakreslení orientace křivky
> | display({vplot, par_p,p1,p2,p3}); |
# Pro vykreslení do jednoho obrázku
Jde o křivku po částech hladkou, což se při výpočtu projeví v rozdělení křivkového integrálu na tři dílčí integrály podél jednotlivých stran trojúhelníku. V našem případě ale použijeme k výpočtu příkaz LineInt .
> | LineInt(VectorField(<0,x>),LineSegments(<0,0>,<2,0>,<0,3>,<0,0>)); |
Error, (in VectorCalculus:-VectorField) no coordinate names were given
Jak již bylo řečeno v prvním příkladu, musíme nejprve určit výchozí soustavu souřadnic.
> | SetCoordinates(cartesian[x,y]); |
# Tento příkaz nastaví souřadnicovou soustavu na kartézskou se souřadnicovými osami x, y .
Jde o kartézskou soustavu se souřadnicovými osami x a y . Nyní spočteme požadovaný integrál
> | LineInt(VectorField(<0,x>),LineSegments(<0,0>,<2,0>,<0,3>,<0,0>)); |
Jinou možností je určení soustavy souřadnicové již při zadávání vektorového pole pomocí příkazu VectorField následujícího tvaru
> | VectorField(<0,x>,'cartesian'[x,y]); |
Pak má systém Maple informaci o použité soustavě souřadnic a výpočet provede. Tento druhý postup se zdá výhodnější při výpočtu několika integrálů v jednom souboru, protože každému vektorovému poli můžeme přiřadit jinou soustavu souřadnic a nebudou se nijak ovlivňovat.
> |
> |