/* [wxMaxima batch file version 1] [ DO NOT EDIT BY HAND! ]*/ /* [ Created with wxMaxima version 0.8.6 ] */ /* [wxMaxima: title start ] Polynomy a racionální funkce [wxMaxima: title end ] */ /* [wxMaxima: section start ] Polynomy [wxMaxima: section end ] */ /* [wxMaxima: input start ] */ p1:-3*x+7*x^2-3*x^3+7*x^4; /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ polynomialp(p1,[x]); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ coeff(p1,x,4); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ coeff(p1,x); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ load(powers)$ /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ powers(p1,x); /* [wxMaxima: input end ] */ /* [wxMaxima: subsect start ] Sčítání a násobení polynomů [wxMaxima: subsect end ] */ /* [wxMaxima: input start ] */ p2:5*x^5+3*x^3+x^2-2*x+1; /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ 2*p1-3*p2+3; /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ expand(%); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ 2*p1-3*p2+3, expand; /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ p1*p2; /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ expand(%); /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] Maxima neprovádí roznásobení automaticky. [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ (3*x+5)^10; /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ expand(%); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ expr:(x+1)^2*(y+1)^3; /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ expand(expr); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ expand(expr,2); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ expr:(x+1)^-2*(y+1)^3; /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] expand(expr,p,n) provede roznásobení jen u členů, jejichž mocniny jsou od -n do p. [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ expand(expr,2,2); /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] Členy polynomu jsou automaticky setříděny sestupně vzhledem ke stupni. [wxMaxima: comment end ] */ /* [wxMaxima: subsect start ] Dělení se zbytkem, největší společný dělitel [wxMaxima: subsect end ] */ /* [wxMaxima: input start ] */ q : quotient(p2,p1); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ r : remainder(p2,p1); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ is (p2=expand(q*p1+r)); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ divide(p2,p1); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ gcd(p2,p1); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ pol:expand(p2*p1); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ factor(pol); /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] gfactor pracuje s oborem komplexních čísel [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ gfactor(pol); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ p:x^2+1; /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ factor(p); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ gfactor(p); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ pol:8*x^3-12*x; /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ factor(pol); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ grind; /* [wxMaxima: input end ] */ /* [wxMaxima: subsect start ] Polynomy více proměnných [wxMaxima: subsect end ] */ /* [wxMaxima: input start ] */ pol:6*x*y^5+12*y^4+14*y^3*x^3 -15*x^2*y^3 + 9*x^3*y^2 - 30*x*y^2 - 35*x^4*y + 18*y*x^2 +21*x^5; /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ ordergreat(x,y); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ 6*x*y^5+12*y^4+14*y^3*x^3 -15*x^2*y^3 + 9*x^3*y^2 - 30*x*y^2 - 35*x^4*y + 18*y*x^2 +21*x^5; /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ unorder(); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ factor(pol); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ collectterms(pol, x); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ collectterms(pol,y); /* [wxMaxima: input end ] */ /* [wxMaxima: section start ] Racionální funkce [wxMaxima: section end ] */ /* [wxMaxima: input start ] */ r:(x^2+3*x+2)/ (x^2+5*x+6); /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] Maxima neprovádí zjednodušení automaticky. [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ num(r);denom(r); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ rat(r); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ (x^(100)-1)/(x-1); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ rat(%); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ f:161*y^3+333*x*y^2+184*y^2+162*x^2*y+144*x*y+77*y+99*x+88$ /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ g:49*y^2+28*x^2*y+63*x*y+147*y+36*x^3+32*x^2+117*x+104$ /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ racfce:f/g; /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ rat(racfce); /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] Rozklad na parciální zlomky. [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ q:(x^3+x^2-x+1)/p1; /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ partfrac(q, x); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ 1/(x^4-5*x^2+6); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ partfrac(%, x); /* [wxMaxima: input end ] */ /* [wxMaxima: subsect start ] Příklady na manipulaci s racionálními funkcemi [wxMaxima: subsect end ] */ /* [wxMaxima: input start ] */ power:(x+1)^(-2); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ expand(power); /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] Narozdíl od Maplu se expandují í záporné mocniny. [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ r1:(x+1)^2/((x^2+x)*x); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ expand(r1); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ r2:expand(num(r1))/expand(denom(r1)); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ factor(r2); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ (x-1)*(x+2)/((x+1)*x)+(x-1)/(1+x)^2; /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ rat(%); /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] Expand použité na racionální funkci ji převede na součet zlomků. [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ expand((x^2+2*x+2)/(x^2-2*x+2)); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ ratsimp(%); /* [wxMaxima: input end ] */ /* [wxMaxima: section start ] Zjednodušování výrazů [wxMaxima: section end ] */ /* [wxMaxima: comment start ] Příkazy rat, ratsimp a radcan slouží ke zjednodušování výrazů. [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ x+y/(x+2)+ z/(x^2+4); /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] Příkaz ratsimp aplikovaný na součet zlomků provede převod na společného jmenovatele. [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ ratsimp(%); /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] Při aplikaci na polynom upraví polynom do tzv. "collected form". [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ ratsimp(x*(x+2)+(x-3)*(x+4)); /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] Pro úpravy výrazů s obecnými exponenty, logaritmy a odmocninami používámé příkaz radcan. [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ expr : (exp(x)-1)/(exp(x/2)+1); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ %, ratsimp; /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ %, radcan; /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ logexpr : log((x+2)*(x-2)) + log(x); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ logexpr, ratsimp; /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ logexpr, radcan; /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ %, logcontract; /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ logexpr, logcontract; /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ (log(x+x^2)-log(x))^n/(log(1+x)^(n/2)); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ radcan(%); /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] Úpravy výrazů s odmocninami [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ sqrt(2)*sqrt(3), expand; /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ sqrt(2)*sqrt(3), radcan; /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ sqrt(2)*sqrt(3), rootscontract; /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ sqrt(6)*sqrt(3); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ sqrt(6)*sqrt(3), radcan; /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ sqrt(6)/sqrt(3); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ sqrt(6)/sqrt(3), radcan; /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] Systémová proměnná radexpand může být nastavena na hodnotu true (implicitní nastavení), all nebo false. Nastavení určuje způsob automatického zjednodušování výrazů s odmocninami. [wxMaxima: comment end ] */ /* [wxMaxima: comment start ] V implictním případě se sqrt(x^2) zjednoduší na abs(x). Maxima implicitně pracuje se všemi symboly jako s reálnými čísly. To můžeme změnit nastavením proměnné domain na hodnotu complex. [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ sqrt(x^2); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ domain : complex$ /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ sqrt(x^2); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ domain : real$ /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ radexpand; /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ sqrt(16*x^2); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ radexpand: all$ /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ sqrt(16*x^2); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ radexpand : false; /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ sqrt(16*x^2); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ (x+2*sqrt(x)+1)/(1+sqrt(x)); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ radcan(%); /* [wxMaxima: input end ] */ /* [wxMaxima: subsect start ] Úpravy výrazů s goniometrickými funkcemi [wxMaxima: subsect end ] */ /* [wxMaxima: input start ] */ trigsimp(tan(x)); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ sin(x+y), trigexpand; /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ x + 3*cos(x)^2 - sin(x)^2, trigreduce; /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ trigrat(sin(3*a)/sin(a+%pi/3)); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ rtt(e):= radcan (trigrat (trigsimp (e))); /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] Manuál programu Maxima doporučuje při zjednodušování výrazů s goniometrickými funkcemi postupně aplikovat příkazy trigreduce, ratsimp a radcan. [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ e : sin(x+y), trigexpand; /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ rtt(e); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ e : tan(x+y), trigexpand; /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ rtt(e); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ tan(%pi/8); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ load(spangl); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ tan(%pi/8); /* [wxMaxima: input end ] */ /* Maxima can't load/batch files which end with a comment! */ "Created with wxMaxima"$