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

3. Matice:
V programu Maple lze velice efektivně a hlavně rychle pracovat s maticemi. Můžeme provádět základní aritmetické operace sčítání, odčítání, násobení, zjišťování hodnosti matice, počítat determinanty, transponovat matice, řešit maticové rovnice...

... A to si ukážeme na několika příkladech.

a) Matice - zápis:
Níže je uveden zápis příkazu, kterým vytvoříme matice se kterými budeme pracovat:

matice:= matrix(x,y,[a,b,c,d,e,f]);

matice:= matrix ====> dáme programu vědět, že jde o matici
x ===> počet řádků matice
y ===> počet sloupců matice
[a,b,c,d,e,f] ===> složky matice oddělené čárkou,
matice většinou pojmenováváme velkými písmeny {A,B,C,E,F}, nebo jménem: klara:=matrix(4,5,[4,5,7,48,2.2,45,52,25,6.45]);

Tak tedy vytvoříme několik matic, jak matice čtvercové {x = y}, tak matice s rozdílným počtem řádků a sloupců {x ≠ y}:

>A:=matrix(2,3,[1,2,3,4,5,6]);
>B:=matrix(2,3,[7,8,9,10,11,12]);
>C:=matrix(3,3,[7,8,9,10,11,12]);
>E:=matrix(3,3,[7,8,9,10,11,12,13]); /čtvercová matice
>F:=matrix(3,3,[1,2,3,4,5,6,8,9,10]); /čtvercová matice

/PS:toto není komentář

Poznámka: Text za lomítkem nelze použít v Maple jako komentář. Je zde použit ryze pro vysvětlení.

b) Hodnost, Determinant:
Determinant lze počítat pouze pro matice čtvercové!

Hodnost matice získáme pomocí příkazu "rank()":
rank(A);

Determinant vypočítáme pomocí příkazu "det()"
det(A);

>>>>>>>determinant lze počítat pouze pro čtvercové matice

c)Singularita a Regularita matic: - pouze pro čtvercové matice

Regulární matice - hodnost je rovna jejímu řádu, determinant je různý od nuly
Singulární matice - hodnost je menší než její řád, její determinant je roven nule

d) Matice Transponovaná, Adjugovaná, Inverzní:
Singulární matice nemají matici Inverzní!

Matici Transponovanou spácháme pomocí příkazu "transpose()":
transpose(A);

Matici Adjugovanou zase příkazem "adj()":
adj(F);

Matici Iverzní vypáčíme z programu pomocí jednoduchého příkazu "inverse()"
inverse(E);

e) Součet, Rozdíl matic:
Sčítat a odčítat se dají jem matice se stejným počtem řádků a sloupců!

Součet - příkazem "evalm()":
evalm(A+B); -> A+B=B+A

Rozdíl rovněž pomocí příkazu "evalm()":
evalm(A-B); -> A-B ≠ B-A

f) Součin matic. Násobení matic číslem:
Další aritmetickouoperací se maticemi je násobení. A to jak násobení matice s maticí, tak násobení matice číslem. Při násobení matic platí určitá pravidla:
jestliže máme první matici třeba
3x4(počet řádek x počet sloupců), tak druhá matice musí být ve tvaru 4x3 - počet řádků první matice se musí rovnat počtu sloupců druhé matice a počet sloupců první matice se musí rovnat počtu řádek druhé matice. Aby nám matice takto souhlasili, můžeme jednu z nich upravit transponováním. Čtvercové matice upravovat nemusíme ale můžeme vzájem násobit pouze čtvercové matice o stejném řádu.

Příkaz pro násobení matice číslem je stejný jako při násobení vektoru číslem, tedy "evalm()" :
evalm(E*6);

Násobení matice s maticí má analogii násobení vektorů tedy místo znaménka "*" bude použito znaménko "&*"- tedy "evalm()":
evalm(F&*E);

Pokud jste psali vše postupně.
>> Vstup a výstup všeho bude potom vypadat následovně <<

>A:=matrix(2,3,[1,2,3,4,5,6]);

d

>B:=matrix(2,3,[7,8,9,10,11,12]);

e

>C:=matrix(3,2,[7,8,9,10,11,12]);

f

>E:=matrix(3,3,[7,8,9,10,11,12,13,1]);

g

>F:=matrix(3,3,[1,2,3,4,5,6,8,9,10]);

h

>hodnost_matice_A:=rank(A);hodnost_matice_B:=rank(B); hodnost_matice_C:=rank(C);hodnost_matice_E:=rank(E);
hodnost_matice_F:=rank(F);

hodnost_matice_A := 2
hodnost_matice_B := 2
hodnost_matice_C := 2
hodnost_matice_E := 3
hodnost_matice_F := 2

>determinant_matice_E:=det(E);
determinant_matice_F:=det(F);

b
determinant_matice_F := 0

>transponovana_matice_k_matici_A:=transpose(A);

o

>adjugovana_matice_k_matici_F:=adj(F);

a

>inverzni_matice_k_matici_E:=inverse(E);


c

>soucet_matic_A_a_B:=evalm(A+B);

k

>rozdil_matic_A_a_B:=evalm(A-B);

j

>soucin_nectvercovych_matic:=evalm(B&*C);

l


>soucin_ctvercovych_matic:=evalm(F&*E);

m

>soucin_matice_a_cisla:=evalm(E*6);

i

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

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