[Obsah]-[Předchozí]-[Další]

2. Vektory:

V této kapitole si ukážeme jak v Maple provádět základní operace s vektory.

Pro práci s vektory je nejdříve nutné zvolat v programu knihovnu lineární algebry. To uděláme následovně: do editoru kódu napíšeme:

> with(linalg);

-pokud vše proběhlo v pořádku měl by vypadat výpis programu takto: - při zakončení příkazu středníkem - pakliže byl příkaz zakončen dvojetečkou, nezobrazí se vám ve výstupu nic, ale příkaz se přesto provede. Já pro jistotu používám středník.

> with(linalg);

[BlockDiagonal, GramSchmidt, JordanBlock, LUdecomp, QRdecomp,Wronskian, addcol, addrow, adj, adjoint, angle, augment,backsub, band, basis, bezout, blockmatrix, charmat, charpoly,cholesky, col, coldim, colspace, colspan, companion, concat,cond, copyinto, crossprod, curl, definite, delcols, delrows,det, diag, diverge, dotprod, eigenvals, eigenvalues,eigenvectors, eigenvects, entermatrix, equal, exponential,extend, ffgausselim, fibonacci, forwardsub, frobenius,gausselim, gaussjord, geneqns, genmatrix, grad, hadamard,hermite, hessian, hilbert, htranspose, ihermite, indexfunc,innerprod, intbasis, inverse, ismith, issimilar, iszero,jacobian, jordan, kernel, laplacian, leastsqrs, linsolve,matadd, matrix, minor, minpoly, mulcol, mulrow, multiply,norm, normalize, nullspace, orthog, permanent, pivot,potential, randmatrix, randvector, rank, ratform, row, rowdim,rowspace, rowspan, rref, scalarmul, singularvals, smith,stackmatrix, submatrix, subvector, sumbasis, swapcol, swaprow,sylvester, toeplitz, trace, transpose, vandermonde, vecpotent,vectdim, vector, wronskian]

Jestiže zatím vše proběhlo v pořádku tak můžeme pokračovat.

Aby jsem mohli pracovat s vektory je třeba si některé vytvořit. To bude probíhat podle několika pravidel:

  • Pojmenování vektorů - nejčastěji malá písmena abecedy (a,b,c,d,e,f....)
  • a:=vector(3,[1,2,3]); dvoznak:= je přiřazovací operátor. Celý výraz znamená, že a:= vector bude vektor, (3, otřech složkách,[1,2,3] složky jsou uvedeny ve hranatých závorkách. ); Celý příkaz bude ukončen středníkem.

Vytvoříme si tedy již zmíněné vektory aby jsem s nimy mohli pracovat.

Například takto:

> a:=vector(3,[1,2,3]);

> b:=vector(3,[6,7,8]);

a)Součet a rozdíl vektorů:

Součet provedeme pomocí příkazu "evalm" a oprátoru "+"-----------------> evalm(a+b);

Při počítání rozdílu použijeme příkaz "evalm", ale operátor "-"----------------> evalm(a-b);

b) Nasobení dvou vektorů a nasobení vektoru číslem:

Při násobení vektoru číslem použijem jako operátor "*" --------------------> evalm(a*b);

Jestliže budeme násobit jeden vektor druhým je třeba použít jako operátor dvojznak "&*" , i zde bude použit příkaz "evalm"--------------------->evalm(a&*b);

c) Skalární součin dvou vektorů:

Zde bude použit příkaz "dotprod"---------------------------------------------->dotprod(a,b);

d) Vektorový součin vektorů:

Ten provedeme pomocí příkazu "crossprod"----------------------------------->crossprod(a,b);

Dále se pak dají pomocí Maple spočítat i velikosti úhlů dvou vektorů a to příkazem "angle"

  • uhel v radiánech: angle(a,b);
  • uhel ve stupních: convert(angle(a,b),degrees);

Přikazy jsou docela jednoduše zapamatovatelné, dají se různě kombinovat atd...

Nakonec této kapitolky uvádím ještě takový malý přehled všecho dosud popsaného:

Jestliže nevíte jak psát některé znaky podívejte se sem.

  • Tabulka základní příkazů pro práci s vektory:
Příkaz
Popis
a:=vector(pocet_slozek,[složky, oddělené, čárkami ,ve, hranatých ,závorkách]); Takto vytvoříme vektor pojmenovaný - a
angle(vektor1,vektor2); Spočítá úhel sevřený dvěma vektory v radiánech
convert(angle(vektor1,vektor2),degrees); Spočítá úhel sevřený dvěma vektory ve stupních
evalm(člen OPERATOR dalši člen); Provede výpočet toho co je v závorkách
norm(nazev vektoru,2); Spočá normu vektoru
crossprod(vektor1,vektor2); Spočítá vektorový součin vektorů
dotprod(vektor1,vektor2); Spočítá skalární součin vektorů

Takhle nějak by to mělo všechno vypadat:

> with(linalg):

> a:=vector(3,[1,2,3]);

a:=[1,2,3]

> b:=vector(3,[6,7,8]);

b:=[6,7,8]

> norma_vektoru_a:=norm(a);

norma_vektoru_a:=3

> norma_vektoru_b:=norm(b);

norma_vektoru_b:=8

> soucet_vektoru:=evalm(a+b);

soucet_vektoru:=[7,9,11]

> rozdil_vektoru:=evalm(a-b);

rozdil_vektoru:=[-5,-5,-5]

> soucin_dvou_vektoru:=evalm(a&*b);

soucin_dvou_vektoru:=44

> nasobeni_vektoru_cislem:=evalm(a*6);

nasobeni_vektoru:cislem:=[6,12,18]

> deleni_vektoru_cislem:=evalm(a/6);

cgv

> uhel_v_radianech:=angle(a,b);

sgs

> uhel_ve_stupnich:= convert(angle(a,b),degrees);

dsfs

> skalarni_soucin:=dotprod(a,b);

skalarni_soucin:=44

> vektorovy_soucin:=crossprod(a,b);

vektorovy_součin:=[-5,10,-5]

 

[Obsah]-[Předchozí]-[Další]

CNW:Pocítadlo
Naposledy upraveno: 14.02.2016 v 09:05
Valid HTML 4.01 Transitional Valid CSS2!