You are on page 1of 13

MAPLE

Maple je korisniki program (aplikacija) iskljuivo namijenjen za napredne matematike proraune, koji ukljuuju algebru, diskretnu matematiku, numerika i simbolika izraunavanja, grafiki prikaz rezultata itd. Slino kao i Matlab, Maple je interpreter, tj. naredbe izvrava jednu za drugom, i sadri veliki broj ugraenih funkcija i operacija, grupisanih po odgovarajuim oblastima. Izvravanje naredbi se u Maple vri njihovim ukucavanjem u komandnoj liniji i pritiskom na taster Enter. Izgled komandnog prozora Maple 6.0 je dat na narednoj slici.

Linija menija Komandna linija

Slika 1. Izgled komandnog prozora Maple 6.0

Ono to se odmah da uoiti je da komandni prozor ima liniju menija i komandni editor. Liniju menija ine opcije (File, Edit, View, Insert itd.), pri emu se njihova upotreba moe intuitivno zakljuiti na osnovu analognih opcija iz drugih aplikacija. Od svih opcija iz menija u nastavku emo pomenuti Help i Insert. Komandni editor je prostor u kojem se unose i izvravaju komande, prikazuje rezultat operacija u simbolikom, numerikom ili grafikom obliku itd. Help Help je opcija iz menija koja omoguava prikaz svih potrebnih pomonih informacija koje se tiu rada sa Maple-om uopte. Help opcija se moe aktivirati bilo iz komandne linije, bilo kombinacijom dugmadi sa tastature Alt+H. Ukoliko elimo dobiti pomone informacije za neku od komandi dovoljno je ispisati komandu u komandnoj liniji, pozicionirati kursor bilo gdje unutar naredbe i pritisnuti taster F1 na tastaturi. Insert Ova opcija nam, izmeu ostalog, omoguava da odluimo na koji nain emo tretirati tekst ispisan u komandnoj liniji. Izgled Insert menija dat je na sljedeoj slici. 1

Slika 2. Izgled Insert menija

Neke bitne podopcije su navedene sa objanjenjem u sledeoj tabeli.


Neke od opcija iz Insert menija Text input Standard Math Maple Input Standard Math Input Preica za opcije Ctrl+T Ctrl+R Ctrl+M Ctrl+G Objanjenje opcija Unosimo samo tekst Unosimo matematike izraze koji se ne izvravaju Unosimo Maple naredbe koje se izvravaju Unosimo matematike naredbe koje se izvravaju

Kao to se vidi iz tabele, Maple Input i Standard Math Input daju izvrive izraze, dok preostala dva unosa ne daju. Na sledeoj slici je dat primjer izraunavanja vrijednosti sume korienjem pomenuta dva unosa.

Naredba

Rezultat

Slika 3. Razlike u prikazu Maple Input i Standard Math Input-a

Mi emo u daljem radu uglavnom koristiti Maple Input.

Korienje komandnog prozora Komandni prozor omoguava korisniku da zadaje matematike komande koje eli da se izvre, bilo u simbolikom, bilo u numerikom obliku, da grafiki prikazuje dobijene rezultate itd. Novi Maple dokument poinje sa znakom za izvravanje grupe ([>). Grupa sadri meusobno povezane komande, to znai da bi promjena vrijednosti neke od promjenljivih iz grupe uticala na sve izraze unutar te grupe. Posmatrajmo sledei primjer. Neka je u jednoj grupi definisana sledea sekvenca matematikih naredbi a=3, b=4-a i c=2*a, dok je u drugoj grupi definisana samo naredba d=a (Slika 4a). Primjetimo produenje srednje zagrade [, kao sastavnog dijela grupe, koja obuhvata pomenute 3 naredbe, kao i odgovarajue rezultate. Vrijednost promjenljive b iz druge grupe odgovara vrijednosti promjenljive a iz prve. Vratimo se sad u prvu grupu, promjenimo vrijednost promjenljivoj a na 5 i izvrimo tu grupu (Slika 4b). Promjenljive b i c auriraju svoju vrijednost, dok d zadrava staru vrijednost.

a)

b)

Slika 4. Ilustracija izvravanja naredbi u okviru razliitih grupa

Da bi promjenljiva b aurirala svoju vrijednost potrebno je izvriti drugu grupu naredbi. Izvravanje naredbi u okviru jedne grupe se najjednostavnije vri pozicioniranjem kursora u tu grupu naredbi i pritiskom tastera Enter. Na ovaj nain se pored izvrenja date grupe formira nova grupa. Ukoliko ne elimo da se formira nova grupa potrebno je selektovati bilo koju naredbu iz date grupe i izvriti opciju Edit / Execute / Selection. Osnove sintakse Sintaksa je bitna samo kada se radi sa izabranom opcijom Maple Input iz Insert menija. Odmah u startu treba istai da je Maple case sensitive, odnosno da razlikuje mala i velika slova (X i x su, zapravo, razliiti simboli u Maple-u). Kao to ste ve mogli primjetiti, naredbe u Maple-u se zavravaju sa takom-zarez (;). Pored toga, naredbe se mogu zavravati i sa dvotakom (:), sa tom razlikom da se u sluaju korienja take-zarez 3

ispisuje rezultat izvrene naredbe, dok se u sluaju dvotake rezultat ne ispisuje, iako se naredba izvri. Slino kao u Matlab-u, promjenljive nije potrebno deklarisati u Maple-u. Operator dodijele := (obratiti panju na dvotaku kao sastavni dio operatora) kreira promjenljivu, koja se nalazi na lijevoj strani tog operatora, i toj promjenljivoj dodijeljuje vrijednost koja se nalazi sa desne strane operatora. Na primjer, ukoliko u radnom prostoru ne postoji promjenljiva a, onda e operacija a:=3 kreirati tu promjenljivu i dodijeliti joj vrijednost 3. Ukoliko elimo editovati (modifikovati) neku od postojeih grupa komandi dovoljno je vratiti se na odgovarajuu grupu i napraviti eljene modifikacije. Pritiskom na Enter, ili opcijom Edit / Execute / Selection, izvrava se ta grupa komandi. U nastavku e biti objanjen odreen broj esto korienih naredbi u Maple-u. > a:=sqrt(3);
a := 3

sqrt(argument) je funkcija koja daje kvadratni korijen argumenta, pri emu se argument navodi u zagradama. Primeujemo da rezultat nije ispisan u numerikom obliku, ve u simbolikom. Da bismo dobili numeriku vrijednost izraza koristimo funkciju evalf i to u sledeem zapisu: > a:=sqrt(3);
a := 3

> evalf(%);

1.732050808

evalf(%) daje numeriku vrijednost poslednjeg izvrenog izraza. Ukoliko baratamo sa veim brojem grupa naredbi onda se moe desiti da ne znamo koji je poslednji izvreni izraz, pa se moe koristiti oblik naredbe evalf kod koga se izraz od koga se trai vrijednost navodi unutar zagrada. Na primjer: > a:=evalf(sqrt(3));
a := 1.732050808

Druga korisna funkcija je ifactor koja vri faktorizovanje argumenta koji je cio broj. Primjer korienja ove funkcije je dat u nastavku: > ifactor(10!);

( 2 )8 ( 3 )4 ( 5 )2 ( 7 ) Argument takoe moe biti racionalan broj, tj. razlomak sa cjelobrojnim imeniocem i brojiocem, pa u tom sluaju funkcija vri faktorizovanje i imenioca i brojioca, uz eventualno skraivanje istih prostih inioca. > ifactor(220/320);
( 11 ) ( 2 )4

Slina funkcija funkciji ifactor je factor, koja vri faktorizovanje polinoma ili razlomka iji su imenilac i brojilac polinomi sa cjelobrojnim, racionalnim, kompleksnim ili algebarski zadatim koeficijentima. U nastavku je dato par primjera korienja ove naredbe: > factor(x^4+3*x^3-6*x^2-8*x); x (x + 1) (x 2) (x + 4) > factor((x^3-y^3)/(x^4-y^4)); x2 + x y + y2 ( y + x ) ( x2 + y2 ) > factor(x^3+2); x3 + 2 Funkcija koja ima suprotno dejstvo od funkcije factor je funkcija expand, koja razvija izraz, koji joj se prosleuje kao argument, u obliku sume proizvoda. Na primjer, ukoliko se funkciji proslijedi polinom u faktorizovanom obliku, onda e ona vratiti taj polinom u razvijenom obliku: > expand(x*(x+1)*(x-2)*(x+4)); x4 + 3 x 3 6 x 2 8 x Druga korisna mogunost funkcije expand je razvoj matematikih funkcija, u koje spadaju sin, cos, tan, sinh, cosh, tanh, exp, ln itd. U nastavku je dato par primjera korienja ove naredbe: > expand(sin(x+y)); > expand(cos(2*x)); 2 cos( x )2 1 > expand(exp(a+ln(b))); ea b I funkcije ifactor, factor i expand podravaju % kao argument, pri emu se onda pozvana funkcija izvrava za poslednji izvreni izraz. Vrijednost polinoma za odreenu vrijednost argumenta se moe izraunati korienjem naredbe eval. Sljedeih par primjera jasno ilustruju njeno korienje. > polinom:=x^3+3*x+2; polinom := x3 + 3 x + 2 > eval(polinom, x=3); > polinom:=x*y+3*z+2; 5
38

sin ( x ) cos( y ) + cos( x ) sin ( y )

polinom := x y + 3 z + 2

> eval(polinom, [x=1,y=2,z=t]); 4+3t > e:=sin(x)/x;


e := sin( x ) x

> eval(e,x=0);
Error, division by zero

Posljednji primjer predstavlja dobar uvod za naredbu limit, koja trai graninu vrijednost od izraza koji joj se prosljeuje kao argument. Najei oblik korienja ove naredbe je limit(f,x=a), gdje je f funkcija od koje se trai granina vrijednost, a x=a je taka u kojoj se trai granina vrijednost. Na primjer: > e:=sin(x)/x;
e := sin( x ) x
1

> limit(e,x=0);

> limit((sin(x)-x)/(x^3),x=0); -1 6 > limit(exp(x),x=-infinity);


0

Sledea naredba koju emo obraditi je sum, u zapisu sum(izraz,argument), koja izraunava vrijednost sume iji je opti lan definisan izrazom izraz, dok je argument promjenljiva po kojoj se vri sumiranje. Ukoliko je zadat samo naziv argumenta onda je u pitanju neodreena suma , a ako su zadate i granice argumenta to je odreena suma. U nastavku je dato par primjera korienja ove naredbe: > sum(k^2,k);
1 3 1 2 1 k k + k 3 2 6

> sum((1+n)/(1+n^2), n=1..10); 2745615458 846523925 > sum((-1)^k/k^2,k=1..infinity);

Neodreena suma

f ( k ) ima za rezultat funkciju g( k) , takvu da je g( k+1 )-g( k) = f(k ) za svako k.


6

1 2 12

Preporuuje se, a esto je i neophodno, da se i izraz i argument piu unutar jednostrukih navodnika, da bi se izbegao eventualni uticaj ranije definisane vrijednosti argumenta na traenu sumu. Na primjer, pretpostavimo da je prije raunanja vrijednosti sume iz prethodnog primjera promjenljiva k uzela vrijednost 5: > k:=5;
k := 5

> sum((-1)^k/k^2,k=1..infinity);
Error, (in sum) summation variable previously assigned, second argument evaluates to 5 = 1 .. infinity

> sum('(-1)^k/k^2','k'=1..infinity); 1 2 12 Kao to vidimo, ovaj problem se prevazilazi upotrebom jednostrukih navodnika. Slina naredba naredbi sum je product, u zapisu product(izraz, argument), koja izraunava vrijednost proizvoda iji je opti lan definisan izrazom izraz, dok je argument promjenljiva po kojoj se vri mnoenje. Ukoliko je zadat samo naziv argumenta onda je u pitanju neodreen proizvod , a ako su zadate i granice argumenta to je odreen proizvod. U nastavku je dato par primjera korienja ove naredbe: > product(i,i=1..5);
120

> product(i^2/(i^2+1),i=1..5); 72 221 > product(k^2,k); ( k ) 2 Vai potpuno ista primjedba vezana za upotrebu jednostrukih navodnika u naredbi product kao u naredbi sum. Naredba koja vri pojednostavljivanje izraza primjenom matematikih pravila je simplify, u zapisu simplify(izraz), gde je izraz matematiki izraz koji se pojednostavljuje i koji moe biti algebarski, trigonometrijski ili stepeni izraz. Posmatrajmo nekoliko uobiajenih poziva ove naredbe: > simplify(cos(x)^5+sin(x)^4+2*cos(x)^2-2*sin(x)^2cos(2*x));

Neodreen proizvod

f ( k ) ima za rezultat funkciju g(k ), takvu da je g( k+1) /g( k) = f( k) za svako k.


7

cos( x )5 + cos( x )4 > simplify(exp(a+ln(b*exp(c))));

be

(a + c)

> f := -1/3*x^5*y + x^4*y^2 + 1/3*x*y^3 + 1: simplify(f, {x^3 = x*y, y^2 = x+1}); 1 + x4 + x2 + x Izuzetno korisna naredba je solve, u zapisu solve(izraz,argument), koja rjeava izraz izraz (koji moe biti matematiki izraz, jednaina, nejednaina ili sistem jednaina) u zavisnosti od argumenta argument, ili vie njih. U sluaju sistema jednaina, jednaine i nezavisno promjenljive se navode u vitiastim zagradama {}. U nastavku je pokazano nekoliko najeih upotreba ove naredbe: > jed:=x^4-5*x^2+6*x-2=0; jed := x4 5 x2 + 6 x 2 = 0 > solve(jed,x);
1, 1, 3 1, 1 3

> solve(jed,{x}); { x = 1 }, { x = 1 }, { x = 3 1 }, { x = 1 3 } > nejed:=2*x^2+4*x-5>0; nejed := 0 < 2 x2 + 4 x 5 > solve(nejed,{x});


{ x < 1 1 1 14 }, { 1 + 14 < x } 2 2

> solve({x+y=3,x-a*y=1},{x,y}); 3a+1 1 {x = ,y=2 } 1+a 1+a > solve({u+v+w=1,3*u+v=3,u-2*v-w=0},{u,v,w}); 4 -2 3 {u = , w = , v = } 5 5 5 Ukoliko je f izraz zavisan od promjenljive x, onda je solve(f,x) ekvivalentno sa solve(f=0,x): > f:=x^4-5*x^2+6*x-2; f := x4 5 x2 + 6 x 2 > solve(f,{x}); { x = 1 }, { x = 1 }, { x = 1 + 3 }, { x = 1 3 }

to se tie diferencijalnog i integralnog rauna, Maple takoe posjeduje odreen broj korisnih naredbi. Naredba diff, u zapisu diff(funkcija,x1,x2,...,xn), trai parcijalni izvod funkcije funkcija po argumentima x1,x2,...,xn. Najea upotreba ove naredbe je u obliku diff(f(x),x), pri emu se trai prvi izvod funkcije f(x) u zavisnosti od argumenta x. Navedimo par primjera: > diff(sin(x),x); > diff(sin(x),y); > diff(arcsin(a/x),x);
x
2

cos ( x ) 0

a a2 1 2 x

Kada je n vee od 1, onda se diff poziva rekurzivno za svaki od argumenata. To znai da je diff(f(x,y),x,y); ekvivalentno pozivu diff(diff(f(x,y),x),y). Izvodi vieg reda se izraunavaju korienjem operatora $. To znai da se k-ti izvod funkcije f(x) u zavisnosti od argumenta x dobija naredbom diff(f(x),x$k). Drugi nain da se to uradi je da se argument x navede k puta, tj. diff(f(x),x,x,...x). U nastavku je prikazana upotreba i jednog i drugog metoda za traenje treeg izvoda funkcije sin(x). > diff(sin(x),x$3); > diff(sin(x),x,x,x);
cos( x ) cos( x )

Naredba int, u zapisu int(funkcija,argument), trai integral funkcije funkcija po argumentu argument. Ukoliko je zadat samo naziv argumenta onda je u pitanju neodreeni integral, a ako su zadate i granice argumenta to je odreeni integral. Slijedi par primjera: > int(x-sin(x),x);
1 2 x + cos( x ) 2
2

> int(sin(x),x=0..Pi);

> int(exp(-x^2),x=0..infinity); 1 2

to se tie grafikog prikaza rezultata, izuzetno je korisna naredba plot, u zapisu plot(funkcija,argument), koja crta funkciju funkcija na zadatom intervalu vrijednosti argumenta argument. Slijedi par primjera korienja ove naredbe: > plot(cos(x)+sin(x),x=0..Pi);

> plot(sin(t),t);

U poslednjem primjeru nismo definisali granice intervala nezavisno promjenljive t. U tom sluaju se uzimaju podrazumijevane granice t=-10..10. U svim primjerima do sad smo koristili operator dodijele :=, ime smo definisali odreeni izraz i dodijelili ga promjenljivoj sa lijeve strane tog operatora. Pored ovog zapisa, u estoj upotrebi je i drugi zapis, zapis kojim se definie funkcija. Posmatrajmo sljedei primjer: > f:=x->2*x^2+3; f := x 2 x2 + 3 Na ovaj nain definiemo funkciju f(x), vrlo slino matematikoj definiciji funkcije kao preslikavanja. tavie, moemo koristiti i pozive funkcije f u oblicima:

10

> f(2); > f(y-1);

11

2 ( y 1 )2 + 3 > f(t^3); 2 t6 + 3 Prethodni zapisi ne rezultuju ni u em smislenom u sluaju korienja operatora dodijele :=, to jasno pokazuje sljedea sekvenca naredbi: > f:=2*x^2+3; f := 2 x2 + 3 > f(2); 2 x( 2 )2 + 3 > f(y-1); 2 x( y 1 )2 + 3 > f(t^3);
2 x( t 3 ) + 3
2

Primjer definisanja funkcije dvije promjenljive g(x,y), i par njenih poziva, je dato u nastavku: > f:=x->2*x^2+3; f := x 2 x2 + 3 > g:=(x,y)->f(x)+f(y); > g(x,y); 2 x2 + 6 + 2 y2 > g(2,4); > g(2,t^2); 14 + 2 t 4 Brisanje promjenljivih iz radnog prostora se vri korienjem naredbe unassign: > a:=2; > a;
a := 2 2 46 g := ( x, y ) f( x ) + f( y )

11

> unassign('a'); > a;


a

Kao to se vidi, ime promjenljive se navodi pod jednostrukim znacima navoda. Brisanje svih promjenljivih iz radnog prostora se vri naredbom restart. Izvravanje ove naredbe je praktino ekvivalentno restartovanju Maple-a. Na kraju materijala uradimo jedan primjer, koji obuhvata dobar dio prethodno izloenih naredbi.
Primjer: Definisati funkciju f ( x) = xe x , nacrtati njen grafik u intervalu
2

nezavisno promjenljive x[-5,5], odrediti prvi i drugi izvod funkcije, pronai nule drugog izvoda (prevojne take), kao i vrijednost drugog izvoda za x=1. Nakon toga odrediti integral funkcije g ( x) = f ( x) + arctan( x) u granicama od 0 do 1.
Rjeenje:

> f:=x->x*exp(-x^2);
f := x x e
2 ( x )

> plot(f(x),x=-5..5);

> izvod1:=x->diff(f(x),x); izvod1 := x diff( f( x ), x ) > izvod1(x);


e
2 ( x ) 2 ( x )

2 x2 e

> izvod2:=x->diff(f(x),x$2);
2 izvod2 := x 2 f( x ) x

> izvod2(x);

12

6 x e

2 ( x )

+ 4 x3 e

2 ( x )

> prevoji:=solve(izvod2(x)=0,{x}); 1 1 prevoji := { x = 0 }, { x = 6 }, { x = 6} 2 2 > vrijed:=eval(izvod2(x),x=1); vrijed := 2 e


( -1 )

> g:=x->f(x)+arctan(x); g := x f( x ) + arctan( x ) > g(x);


xe
2 ( x )

+ arctan( x )

> vr_int:=int(g(x),x=0..1); 1 ( -1 ) 1 1 1 vr_int := e ln( 2 ) + + 2 2 4 2 > evalf(vr_int);


.7548848526

Sa ovim bismo zaokruili materijal vezan za aplikaciju Maple. Naravno, Maple prua mnogo vie od ovdje izloenog. Pomenimo samo da se nismo osvrnuli na rad sa matricama, tabelama, diferencijalnim i integralnim jednainama, mnotvom specijalnih matematikih funkcija, naprednom grafikom itd. Nadamo se da izloeni materijal predstavlja dobar uvod studentu u napredne mogunosti ovog programa.

13

You might also like