2008-10-01

1. Osnove rada s Mathematicom

1.1 Osnove grafičkog sučelja

Mathematica bilježnice i ćelije

Mathematica bilježnica (notebook) je datoteka (uobičajena ekstenzija imena datoteke je .nb) koja se sastoji od niza ćelija (cell). Čelije sadrže raznovrsne tipove informacija (matematičke izraze, grafiku, tekst) koje je ili unio korisnik ili ih je proizvela Mathematica kao rezultat nekog računa. Svaka ćelija je označena uglatom zagradom na desnoj strani bilježnice. Tri vrste ćelija koje ćemo najčešće susretati su:

1.  Tekstualna ćelija,  koja obično sadrži komentare računa (npr. ovaj tekst)

2.  Input ćelija,  koja sadrži izvršne Mathematica komande

3.  Output ćelija, koja sadrži rezultate izvršavanja tih komandi

Najlakši način razlikovanja ćelija je pomoću tipa slova (fonta). Evo primjera jedne input i jedne output ćelije:

2+2

Rad s ćelijama i izvršavanje komandi

Novu ćeliju stvorimo tako da na željeno mjesto ili kliknemo mišem ili dođemo kursorskim tipkama tako da se prikaže horizontalna linija. Počnemo tipkati i automatski se kreira input ćelija. Želimo li tekstualnu moramo konvertirati tip ćelije tako da istu označimo klikom na njenu zagradu (koja pocrni) i onda u izborniku na vrhu bilježnice biramo Format -> Style -> Text.

Izvršenje svega onog što smo upisali u input ćeliju zatražimo pritiskom na shift-Enter. (Česta je početnička greška zaboravljanje pritiskanja shift tipke. Samo Enter nas stavlja u novi red iste ćelije.)

Važno svojstvo Mathematica bilježnice je da svaku ćeliju bilježnice možemo i naknadno editirati i onda ponovno izvršiti tako da pritisnemo shift-Enter dok je kursor bilo gdje (!) u toj ćeliji (ili je ona označena klikom na njenu zagradu). To rad u Mathematici čini sličnijim radu u tabličnom kalkulatoru (spreadsheet) nego standardnom programiranju.

Zadatak 1-1: Editiranjem gornje "2+2" ćelije izračunajte 2+3.

Čelije se mogu grupirati tako da iznad njih stavimo naslovnu ćeliju tipa (sub)title ili sub(section) putem izbornika Format -> Style. Grupa ćelija može biti otvorena (sve se vidi) ili zatvorena (vidi se samo naslovna ćelija grupe). Čelije se mogu otvarati ili zatvarati dvostrukim klikom na uglatu zagradu koja obuhvaća grupu. To često doprinosi preglednosti rada.

Zadatak 1-2: Zatvorite i otvorite ovu grupu ćelija (s naslovom "Rad  s ćelijama i izvršavanje komandi")

Brisanje ćelije se izvodi njenim označavanjem (klik na zagradu) pa tipka Del ili izbornik Edit->Clear

Spremanje i predaja bilježnica

Bilježnicu koju je priredio nastavnik najčešće nije poželjno mijenjati. Stoga je zgodno svaku bilježnicu prije rada spremiti pod novim imenom putem izbornika File->Save as ... . Radi lakšeg snalaženja datoteke s domaćim zadaćama koje se predaju nastavniku treba uniformno nazivati i to ovako:

<Prezime bez hrvatskih dijakritičkih znakova>-<broj domaće zadaće>.nb

Primjer: Kostelic-01.nb. (Obavezno stavite veliko početno slovo!) Za slanje emailom putem spore modemske veze velike bilježnice se mogu komprimirati (npr. zip ili rar). Kako je bilježnica po formatu obična ASCII tekstualna datoteka, kompresija je često znatna.

1.2 Elementarno računanje

Mathematica kao kalkulator

Mathematica se može koristiti kao obični kalkulator proizvoljne preciznosti

3*2+1

Sqrt[9]

13^23

22!

Množenje je, osim zvjezdicom *, moguće iskazati i razmakom što je ponekad preglednije

3.2 10^4

Ova gore, uobičajena notacija za zapis velikih brojeva ima i alternativni zapis

3.2*^4

Fortranski zapis 3.2E4 nije dopušten.

Rad u Mathematica bilježnici omogućuje i ljepši zapis standardnih matematičkih operacija i simbola. Tako se npr. potenciranje može izvesti na slijedeće načine:

1. "Jednodimenzionalno"

2^3

2. "Dvodimenzionalno", korištenjem ctrl-^ tipke:

(2^3)

3. "Dvodimenzionalno", korištenjem palete File->Palletes->BasicInput  za unos, gdje je moguće bilo odmah kliknuti na prvu tipku na paleti, unijeti "2", kliknuti tipku Tab,  pa unijeti "3" ili, alternativno, unijeti "2", označiti to mišem pa tek onda kliknuti na paletu i unijeti "3".

(2^3)

Palete su zgodne kad je korisnik početnik ili za rijetko korištene funkcije, ali je njihovo korištenje sporo u odnosu na unos samo preko tipkovnice. Za lakše učenje zgodno je primijetiti da kad se kursor nalazi iznad neke tipke na paleti, na dnu palete je prikazano kako izvesti ekivalentan unos putem tipkovnice.

Primijetite da nismo dobili numerički već simbolički rezultat. Mathematica će se uvijek odlučiti za egzatni simbolički rezultat ako takav postoji. Ako nas ipak zanima numeričko približenje možemo koristiti funkciju N :

N[%]

Ovdje smo također iskoristili vrlo korisni simbol %, koji uvijek znači "rezultat izvršenja posljednje komande", gdje treba naglasiti da se to odnosi na posljednje izvršenje u trenutnoj sesiji, a ne na rezultat koji stoji neposredno iznad u bilježnici. Naime, kako je input ćelije dozvoljeno izvršavati proizvoljnim redom te dvije stvari se mogu razlikovati. Zbog toga simbol % treba koristiti pažljivo.

({{%, zamjenjuje posljednji rezultat}, {%%, zamjenjuje pretposljednji rezultat}, {%n, zamjenjuje n-ti rezultat trenutneMathematica  sesije  tj.  Out[n]}})

Funkcija N ima i inačicu N[..., n] koja daje numeričko približenje s n točnih decimala

N[%%,100]

Kako se u praksi funkcija N često rabi, dobro je znati da se ona može primijeniti i tzv.  postfiksno :

E //N

Zadatak 1-4: Ispišite prvih 500 decimala broja π.

S kompleksnim brojevima radimo jednostavno. Samo treba imati na umu da je kompleksna jedinica ((Sqrt[-1])) reprezentirana velikim slovom "I" ili specijalnim simbolom i kojeg unosimo s palete BasicInput ili s tipkovnice sekvencom Esc-i-i-Esc.

(((2+3I))^4)

Zadatak 1-5: Izračunajte  (e^( i π)).

Ugrađene funkcije

U Mathematicu  su ugrađene ("built-in") i brojne poznate matematičke funkcije i operacije.

Log[Sin[π]]

Za upotrebu svih tih funkcija važno je imati na umu dvije stvari:

1. Ime funkcije počinje velikim početnim slovom i često je slično uobičajenom matematičkom imenu funkcije. (Ipak, treba paziti. Npr. Log  je prirodni logaritam (ln=(Subscript[log, e])), a dekadski logaritam ((Subscript[log, 10])) se dobije kao Log[10, <arg>]

2. Argument funkcije je dan u uglatim zagradama. Upotreba zagrada u Mathematici je vrlo stroga:

({{(  ), grupiranje elemenata u izrazima poput   2(3+2)-1}, {[  ], ograđuju argumente funkcija  Log[2]}, {{  }, liste {1,3,a,9} i listama srodni objekti poput vektora}, {[[  ]]  ili   [[  ]], specificiranje elemenata liste  {a,b}[[2]]}, {(*  *), komentar}})

Kao primjer ugrađene funkcije uzmimo Besselovu funkcija  (Subscript[J, 2])(z) u točki z=0

BesselJ[2,0]    (* Ovo je samo demonstracija komentara *)

Postavlja se pitanje: Recimo da Vam zatrebaju Besselove ili kakve druge konkretne matematičke funkcije. Kako  saznati njihov naziv i sintaksu u Mathematici? Za to postoji razrađeni "Help" sustav.

"Help" sustav

Help sustav nudi nekoliko raznih pristupa:

1. Help->Documentation Center... sadrži cijelu debelu Mathematica knjigu i još više toga. (Usput, plava imena funkcija u ovom tekstu vode klikom miša na odgovarajuću stranicu "Help" sustava. (Ne radi zasad u Mathematici 6.))

2. Ponekad je brže zatražiti pomoć izravno iz input ćelije, koristeći simbol "?" i wildcard "*". Nakon toga jedan klik daje osnovnu informaciju o funkciji, a drugi nas vodi na odgovarajući dio Mathematica knjige.

?Bess*

3. Ako smo funkciju već koristili i samo nam treba podsjetnik kako se točno zove zgodno je započeti upis funkcije: Bess... i onda stisnuti ctrl-K. To nam omogućuje izravno nadopunjavanje naziva klikom miša i pogodno je i kod funkcija kojima znamo ime, ali želimo uštedjeti na tipkanju. Nadalje, nakon upisa ili izbora funkcije i s kursorom odmah iza njenog imena pritisak na ctrl-shift-K daje predložak za upis argumenata funkcije.

BesselJ[n, z]

Argumenti su označeni simbolima koji olakšavaju prepoznavanje njihovog ispravnog redoslijeda. Ovdje n sugerira prirodni, a z kompleksni broj, po čemu znamo da je na prvom mjestu red, a na drugom argument funkcije (Subscript[J, n])(z).

Zadatak 1-6: Izvrijednite Eulerovu gama funkciju za z=1/2, dakle Γ(1/2), tako da pronađete u dokumentaciji odgovarajuću Mathematica funkciju.

Zadatak 1-7: Proučite upotrebu funkcije Sum za zbrajanje matematičkih redova i izračunajte:
(a) 1+3+5+7+⋯ + 61
(b) (Overscript[(∑_1), ∞])(1/(n^2))=1+(1/4)+(1/9)+⋯

Poruke o grešci

Ako se ogriješimo o matematička ili sintaktička pravila, Mathematica će nam uzvratiti porukom o grešci

(1/0)

sin[2.3]

Ovo drugo strogo gledano nije greška (jer možda mislimo na neku funkciju koja se zove sin(x), a koja nema veze sa sinusom), ali Mathematica nas upozorava da smo možda htjeli sinus koji, kao i sve ugrađene funkcije treba pisati s velikim početnim slovom.