Rozklady, řešení rovnic a jejich soustav
1 Rozklady
V panelu nástrojů Matematické operace
a v podmenu Zjednodušit v Hlavním menu
najdeme příkazy, kterými můžeme výraz rozložit na součin.
1.1 Přirozená čísla
Rozklad přirozeného čísla na prvočinitele:
(%i1) | p: 15360; |
V menu Matematické operace stiskneme tlačítko Na součin
nebo zvolíme tutéž volbu v podmenu Zjednodušit
(%i2) | factor(%); |
Nebo můžeme napsat příkaz sami:
(%i3) | factor(p); |
Pozor, příkaz Rozložit naopak činitele navzájem roznásobí:
(%i4) | expand(%); |
1.2 Další operace s celými a přirozenými čísly
Pro přirozená čísla jsou k dispozici i další operace a příkazy;
několik příkladů:
příkaz divisors vypíše všechny dělitele daného čísla:
(%i5) | divisors(p); |
Příkaz integer_partitions(n) vypíše všechny navzálem různé podmnožiny přirozených čísel takové,
že součet jejich prvků je roven číslu n.
(%i6) |
q: 8 $ integer_partitions(q); integer_partitions(q,2); |
(%i9) | cardinality(integer_partitions(q)); |
Další funkce snadno najdete v nápovědě.
Hledejte hesla Sets, Lists, Integers
1.3 Mnohočleny
Vložíme výraz:
(%i10) | mn: x^3-5*x^2-6*x $ |
V menu Matematické operace stiskneme tlačítko Na součin
nebo zvolíme tutéž volbu v podmenu Zjednodušit
(zcela stejný postup, který jsme provedli výše s přírozeným číslem)
dá výsledek:
(%i11) | factor(%); |
Opět zapíšeme rovnou příkaz:
(%i12) | factor(mn); |
(%i13) | factor(x^2-1/4); factor(x^2+1); factor(x^2-3); |
Maxima provádí pouze rozklady na činitele s racionálními koeficienty
Můžeme ale zvolit rozklad v komplexních číslech:
(%i16) | x^2+1; |
(%i17) | gfactor(%); |
2 Rovnice
2.1 Polynomické rovnice
Pro řešení rovnic a soustav rovnic je k dispozici celé podmenu v Hlavním menu
nazvané Rovnice.
V paneku nástrojů Matematické operace je k dispozici tlačítko Řešit.
Pro řešení rovnice můžeme zapsat jako výchozí výraz
buď celou rovnici
nebo její levou stranu (a předpokládá se, že jde o levou stranu anulované rovnice):
(%i18) | 2*x-5 $ |
Menu matematické operace, tlačítko Řešit...
nebo podmenu Rovnice, volba Řešit...
(%i19) | solve([%], [x]); |
(%i20) | 5*x-2=2*x+3 $ |
(%i21) | solve([%], [x]); |
V podmenu Rovnice je ale větší výběr příkazů:
(%i22) | x^2-3 $ |
Příkaz Kořeny polynomu (bfloat) - tedy s nastavitelnou přesností
(%i23) | bfallroots(x^2-3); |
Příkaz Kořeny polynomu (reálné)
(%i24) | realroots(%); |
Příkaz Kořeny polynomu - s pevnou přesností
(%i25) | allroots(x^2-3); |
A příkaz Najít kořen, který dovoluje zadat interval,
na němž numericky hledáme kořen.
2.2 Přesnost numerického výpočtu
Přesnost numerických výpočtů nastavíme v podmenu Numerické výpočty,
volba Nastavit přesnost.
Hodnotu však musíme nejprve vyjádřit jako bigfloat.
Nebo také příkazy bfloat, fpprec:
(%i26) |
fprec : 30$ fpprintprec : 30$ bfloat(allroots(x^2-3)); |
Numericky můžeme (přibližně) vyjádřit také iracionální konstanty,
pokud změníme symbolické vjadřování na numerické.
Buď volbou Přepnout numerický výstup z menu nebo příkazem:
(%i29) | %pi; |
(%i30) | if numer#false then numer:false else numer:true; |
(%i31) |
fpprec : 40$ fpprintprec : 30$ bfloat(%pi); bfloat(sqrt(3)); |
Vrátíme zpět algebraické zápisy
(%i35) | if numer#false then numer:false else numer:true; |
3 Soustavy rovnic
3.1 Soustavy lineárních rovnic
Soustavy lineárních rovnic ve škole řešíme nejčastěji.
K jejich řešení opět použijeme volbu Řešit lineární systém...
z podmenu Rovnice.
Rovnice (stačí jejich anulované levé strany)
(%i36) | linsolve([5*x-4*y + 2*z-3, -2*x-6*y + z-10, x- y + 2*z-2], [x, y, z]); |
Poznámka: podívejte se (zkuste), jak by vypadal výstup,
kdybychom nepřepnuli numerický výstup zpět na algebraický.
3.2 Soustavy závislých lineárních rovnic
Soustava, která nemá řešení
(%i37) | linsolve([2*x - 3*y + 2*z + 4, 2*x - 3*y + 2*z + 6, 2*x + 3*y - 2*z ], [[x, y, z]]); |
Soustava, která má nekonečně mnoho řešení
(%i38) | linsolve([2*x + 5*y - z + 4, 4*x + 10*y - 2*z + 8, x + y + z], [x, y, z]); |
Jedna proměnná je označena jako parametr, ostatní jsou vyjádřeny v závislosti na ní.
3.3 Soustavy rovnic
V analytické geometrii někdy hledáme společné body kuželosečky a přímky,
řešíme soustavu nelineárních rovnic.
Pro tento účel použijeme volbu Řešit algebraický systém... z podmenu Rovnice.
(%i39) | algsys([x^2 - y^2 - 16 , 2*x - 3*y + 1], [x, y]); |
Konec této části
(%i40) | kill(all)$ |