Univerzitet u Nišu Građevinsko-arhitektonski fakultet Informatika 2 Mathematica Konstante, promenljive, identifikatori, operatori Biblioteka funkcija Milica Ćirić
Mathematica Programski paket Mathematica je veoma pogodan za primenu u sledećim oblastima: obrada numeričkih podataka simboličko procesiranje grafičko prikazivanje podataka i funkcija Za razliku od programskih jezika koji imaju par destina ugrađenih matematičkih funkcija (npr. paket Math u Javi), Mathematica ima ugrađene hiljade operacija. 2
Radni prostor Korisnik postavlja svoje zahteve u radnom prostoru (NoteBook, tj. beležnica, sveska). Radni prostor je struktuirani interaktivni dokument koji se sastoji od niza ćelija (cells). Svaka ćelija je označena uglastom zagradom na desnoj strani dokumenta. Ćelija može da sadrži: tekst, formule ili grafiku. 3
Ćelije Ulazne ćelije (In[#]) se koriste za unos izraza koje želimo da Mathematica obradi, a rezultat obrade se prikazuje u izlaznim ćelijama (Out[#]). # označava redni broj koji Mathematica dodeljuje parovima ćelija koje čine po ulazna i izlazna ćelija. In[1] Out[1] Obrada unetog izraza se započinje pritiskom kombinacije tastera Shift+Enter. 4
Tipovi numeričkih podataka Numeričke vrednosti koje se koriste u Mathematica-i mogu biti sledećih tipova Primeri: 3 3/7 2.475 1+2 I 5
Približna vrednost Približna vrednost broja (npr. racionalnog) može se dobiti korišćenjem funkcije N[broj,broj_cifara] ili Primer In[4]:= N[3/7, 30] broj//n Out[4]= 0.428571428571428571428571428571 6
Identifikatori Kada neku vrednost želimo da referenciramo (pozovemo) nakon izračunavanja, poželjno je dodeliti joj ime pomoću kojeg možemo tu vrednost koristiti kada god nam je potrebna. Ovakva imena se dodeljuju promenljivama i konstantama i nazivaju se identifikatori. Identifikatori se mogu sastojati od malih i velikih slova, kao i cifara. Dužina koju identifikator može da ima nije ograničena. Međutim, identifikator ne može da počinje cifrom. npr. x2 je validan identifikator 2x je isto što i 2*x 7
Konstante Konstante predstavljaju veličina čija se vrednost ne može menjati. One imaju pridružena simbolička imena, tj. identifikatore. U Mathematici postoje neke već definisane konstante. Njihova imena počinju velikim slovom. 8
Promenljive Veličine koje imaju pridružena simbolička imena, ali se njihova vrednost može menjati se nazivaju promenljive ili simboli. Postoji konvencija da imena promenljivih počinju malim slovom, kako bi se razlikovala od konstanti. Vrednost promenljive se definiše naredbom promenljiva=izraz a briše naredbom ili promenljiva=. Clear[promenljiva] 9
Promenljive Sledeći red postvlja vrednost promenljive x na 5 In[1]:= x=5 Out[1]= 5 Nakon toga, kada god se pojavi x, Mathematica zamenjuje x vrednošću 5 In[2]:= x^2 Out[2]= 25 Sledeći red dodeljuje novu vrednost promenljivoj x In[3]:= x=7+4 Out[3]= 11 10
Promenljive Kada se jednom dodeli neka vrednost promenljivoj, ona se zadržava sve dok se ne: dodeli nova vrednost obriše dodeljena vrednost (Clear) ili završi sesija Kako bi se izbegle greške, poželjno je da se vrednost promenljive obriše kada se završi rad sa njom. 11
Operatori Nad numeričkim vrednostima mogu se primenjivati različite vrste operatora: aritmetički operatori: +,-,*,/,^ relacioni operatori: ==,!=, >, >=, <, <= logički operatori:!, &&,, Xor operatori za rad sa kompleksnim brojevima: Re, Im, Conjugate, Abs, Arg 12
Primeri 2.4 / 8.9 ^ 2 + (3 5) x > y+5 p && q!r Arg[(4+ 3 I)/(2 I)] 13
Matematičke funkcije 14
Kombinatorne funkcije 15
Sume i proizvodi 16
Korisnički definisane funkcije Elementarne funkcije se pozivaju izrazima oblika Funkcija[x,y,z,...] Pored toga što poseduje veliki broj ugrađenih funkcija Mathematica omogućava korisniku da definiše i svoje funkcije. Funkcija više promenljivih se definiše izrazom funkcija[x_,y_,z_,...]:= izraz a poziva se navođenjem konkretnih parametara između četvrtastih zagrada funkcija[p,4,el, ] 17
Korisnički definisane funkcije Brisanje funkcije se može izvršiti kao i kod promenljivih korišćenjem naredbe Clear[funkcija] Ukoliko je potrebno zadati različite definicije funkcije za različite vrednosti parametara, to se može učiniti korišćenjem /; i navođenjem uslova funkcija[x_,y_,...]:= izraz1/;uslov1 funkcija[x_,y_,...]:= izraz2/;uslov2... 18
Primeri Log[2, 256] Sin[Pi / 2] Binomial[n, 2] Sum[x ^ i, {i, 1, 100}] Product[x + i, {i, 1, n}] f[x_]:=(exp[x]-1)/x f[x_]:=x^2 19
Zadaci 1. Naći prvih 20 značajnih cifara izraza. N[Sqrt[11],20] 2. Naći broja 2 3i. Conjugate[2-3I] 3. Izračunati. (27/216)^(1/3)//N 20
Zadaci 4. Za proizvoljno unetu vrednost x napisati funkciju za izračunavanje vrednosti sume. Funkciju testirati za vrednost x = 0.25. f[x_]:=sum[cos[k*x]+(x^2-3*k*x)/(sin[x]+cos[x]),{k,0,20}] f[0.25] 21
5. Naći 20 element Fibonačijevog niza ako važi: f(0)=1 f(1)=1 f(n)=f(n-1)+f(n-2) Rešenje f[0]:=1 f[1]:=1 f[x_]:=f[x-1]+f[x-2] f[20] 22
Zadaci 6. Neka je data funkcija oblika Odrediti vrednosti funkcije za x = 0.3 i x = 1.5. f[x_]:=x/;x>=0&&x<1 f[x_]:=1/;1<=x<2 f[x_]:=3-x/;x>=2&&x<3 f[0.3] f[1.5] 23
Zadaci 7. Neka je data funkcija oblika Odrediti vrednosti funkcije za x = 1 i x = -1. f[x_]:=x^3/;x<=0 f[x_]:=x^3/;x>0&&x<=1 f[x_]:=sin[x]/;x>1 f[1] f[-1] 24
Zadaci 8. Neka je data funkcija oblika Odrediti vrednosti funkcije za x = π i x = -2. f[x_]:=sin[2*x]/;x>0 f[x_]:=3*x/;x<=0 f[pi] f[-2] 25
Zadaci 9. Neka je data funkcija oblika Odrediti vrednost funkcije za x = 1, a = 2 i b = 3. f[a_,b_,x_]:=log[sqrt[abs[sin[a+exp[x/2]]+cos[b-arctan[x/2]]]]] f[2,3,1]//n 26
Zadaci 10. Neka je data funkcija oblika Odrediti vrednost funkcije za x = 1, y = 0.5. f[x_,y_]:=log[sqrt[tan[x]^2+0.2+cos[y]/exp[x*y]]] f[1,0.5] 27
Zadaci 11. Neka je data funkcija oblika Odrediti vrednosti funkcije za x = 1. f[x_]:=sqrt[sin[sqrt[x]]+x^3]/log[sin[x^2]]^2 f[1]//n 28
Zadaci 12. Naći: a) Sum[(x+2)^i,{i,1,30}] b) Sum[2i-j,{i,1,2},{j,1,i}] c) Product[3*i^2,{i,1,15}] 29