Úpravy výrazů
Následuje ukázka několika užitečných funkcí pro úpravu výrazů, zejména polynomů, racionálně lomených funkcí.
> | B:=a+b; |
> | B^3; |
Roznásobení výrazu.
> | expand(B^3); |
A zpět na součin.
> | factor(%); |
Rozklad na součin nefunguje pokud kořeny polynomu nejsou celá čísla
> | factor(x^2+5*x+5); |
Musíme použít další argument real .
> | factor(x^2+5*x+5,real); |
Pokud jsou kořeny komplexní, musíme použít complex .
> | factor(x^2+5*x+7,real); |
> | factor(x^2+5*x+7,complex); |
Definujme jiný polynom.
> | pol:=a^4-8*a^2*(b-3*a)+b^2*(2*a-b*a^2-a^2); |
Sloučení koeficientů jednotlivých mocnin proměnné b . Ne vždy však jsou tyto seřazeny sestupně.
> | collect(pol,b); |
K tomu pak slouží příkaz sort . Zde to vyšlo, ale viz. následující příklad.
> | sort(%,b); |
> | vyraz:=expand((a-x)*(x+b)*(c+x)); |
> | sort(vyraz,x); |
nebo ještě.
> | sort(collect(vyraz,x),x); |
Příkaz coeff vybere zadanou mocninu vybrané proměnné.
> | coeff(pol,b,2); |
K určení stupně polynomu slouží příkaz degree .
> | degree(pol,a); |
> | degree(pol,b); |
Definujme racionální výraz.
> | R:=(x+2)*(x+4)/((x+1)*(x+3)); |
Expand funguje jen na čitatele
> | expand(R); |
Vypsání čitatele racionálního výrazu
> | numer(R); |
Vypsání jmenovatele
> | denom(R); |
Takto expand roznásobí zvlášť čitatele a zvlášť jmenovatele.
> | expand(numer(R))/expand(denom(R)); |
Vytvoření funkce pro expandování racionálních výrazů
> | ex:=z->expand(numer(z))/expand(denom(z)); |
> | ex(R); |
Rozklad zpět na součin. Faktor funguje i na racionální výrazy (pouze v zaákladním tvaru - ne s real ani complex).
> | factor(%); |
Definice výrazu
> | H:=x/(x+1)+1/(x-1); |
a jeho zjednošení pomocí funkce simplify .
> | simplify(H); |
Pro racionální lomené funkce je často výhodné použití příkazu normal .
> | normal(H); |
Zpět na začátek sekce .