Mathematica jako kalkulator:
1. Dodawanie
In[]:= 2 + 2
Out[]= 4
2. Mnożenie
In[]:= 3*6
Out[]= 18
3. Odejmowanie
In[]:= 3 - 7
Out[]= -4
4. Dzielenie (Uwaga, tu jest kilka problemów)
In[]:= 3/7

Czyli dostaliśmy ułamek… (Pamiętajmy: obliczenia symboliczne!) Ale jak napiszemy tak:
In[]:= 3./7
Out[]= 0.428571
albo
In[]:= 3/7.
Out[]= 0.428571
To już dostajemy ułamek dziesiętny…
Inne obliczenia
Pierwiastek
In[]:= Sqrt[7]

Po pierwsze zwracam uwagę na nawiasy kwadratowe używane do wskazywania parametrów funkcji. Po drugie — przyjęto, że wszystkie nazwy funkcji zaczynają się od wielkiej litery. Po trzecie — znowu właściwie Mathematica nic nie zrobiła. To dodajmy kropkę po 7:
In[]:= Sqrt[7.]
Out[]= 2.64575
zadziałało… Inna metoda wymuszenie obliczeń polega na użyciu specjalnej funkcji o nazwie N[], na przykład:
In[]:= N[Sqrt[11]]
Out[]= 3.31662
Jeżeli chcemy dokonać obliczeń z określoną precyzją, możemy zrobić to tak:
In[]:= N[3/11, 19]
Out[]= 0.2727272727272727273
Można korzystać ze stałych, na przykład E albo Pi
In[]:= N[Pi, 50]
Out[]= 3.1415926535897932384626433832795028841971693993751
In[]:= N[E, 20]
Out[]= 2.7182818284590452354
Podczas obliczeń można korzystać ze zmiennych:

(Zwracam uwagę na średnik na końcu; użycie go wyłącza opcję potwierdzanie tego co Mathematica wylicza…)
In[]:= N[zz, 3]

Out[]= 0.*10^-53
Jeżeli pojawia się taki komunikat, oznacza to, że wynik obliczenia w przybliżeniu równa się zero
Dostępnych jest wiele funkcji — nie sposób wymienić tu wszystkich — odsyłam do Helpa…
Możliwe są również bardziej skomplikowane obliczenia:
In[]:= Sum[i, {i, 1, 10}]
Out[]= 55
Powyższe równoważne jest
In[]:= 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10
Out[]= 55
albo zapisowi uproszczonemu
In[]:= Sum[i, {i, 10}]
Out[]= 55
Mniej więcej wiadomo co to będzie:
In[]:= Sum[i*j, {i, 1, 10}, {j, 1, 10}]
Out[]= 3025
(podwójna suma…)
W podobny sposób działa polecenie Product, zatem nikogo nie dziwi wynik:
In[]:= 10! - Product[i, {i, 1, 10}]
Out[]= 0
In[]:= Sum[1/i, {i, 1, Infinity}]


Powyższe nie jest specjalnie dobrym przykładem ponieważ taka suma nie ma granicy, ale to:
In[]:= Sum[1/(i^2), {i, 1, Infinity}]

tego to chyba kalkulator w komórce nie policzy, prawda?
Można też użyć Mathematici do rozwiązywania równań. Najprostszy wariant wygląda tak:
In[]:= Solve[3 x + 9 == 0, x]
Out[]= {{x -> -3}}
Nieco bardziej skomplikowane jest to
In[]:= Solve[(x - Pi) (x - 2) == 0, x]
Out[]= {{x -> 2}, {x -> Pi}}
Polecenie Solve rozwiązuje równanie dokładnie (przynajmniej stara się). Polecenie NSolve rozwiązuje równanie metodami numerycznymi:
In[]:= NSolve[(x - Pi) (x - 2) == 0, x]
Out[]= {{x -> 2.}, {x -> 3.14159}}
W przypadku użycia polecenia Solve możliwe jest rozwiązanie równania o postaci:
In[]:= Solve[(x - 3) (x - 2) == Pi]

albo o postaci
In[]:= Solve[(x - 3) (x - 2) == a, x]

In[]:= NSolve[(x - 3) (x - 2) == Pi]
Out[]= {{x -> 0.658372}, {x -> 4.34163}}
Najprostsze obliczenia symboliczne
Najciekawsze jednak możliwości zaczynają się, gdy zechcemy dokonywać obliczeń symbolicznych. Polecenie Expand „wylicza" sumy, iloczyny i dodatnie potęgi w wyrażeniu:
In[]:= Expand[(a + b)^3]
Out[]= a^3 + 3 a^2 b + 3 a b^2 + b^3
Polecenie Factor faktoryzuje1 (upraszcza?) złożone formuły — wielomiany
In[]:= Factor[x^5 + x^4 + x + 1]
Out[]= (1 + x) (1 + x^4)
Polecenie Simplify upraszcza skomplikowane wyrażenia…
In[]:= Simplify[x^2 + 2 x + 1]
Out[]= (1 + x)^2
ale też:
In[]:= Factor[x^2 + 2 x + 1]
Out[]= (1 + x)^2
za to
In[]:= Simplify[1 - x^2]
Out[]= 1 - x^2
nie robi nic, ale za to
In[]:= Factor[1 - x^2]
Out[]= -((-1 + x) (1 + x))
tak, że nie jest to całkiem proste. Inny przykład

Out[]= True
Specjalne polecenie /. pozwala zastąpić zmienną przez wyrażenie, na przykład:
In[]:= x + 2 /. x -> a
Out[]= 2 + a
In[]:= x + 2 /. x -> b - 1
Out[]= 1 + b
Całki, pochodne…
In[]:= Dt[Sin[x], x]
Out[]= Cos[x]
proste, prawda? A druga pochodna to będzie jakoś tak…
In[]:= Dt[Sin[x], {x, 2}]
Out[]= -Sin[x]
Sprawdźmy…
In[]:= Dt[%%, x]
Out[]= -Sin[x]
Zwracam uwagę, na znaki %%. Mathematica przyjmuje taką konwencję, że pojedynczy znak % oznacza wynik poprzedniego działania, podwójny — tego przedostatniego, kolejne znaki % pozwalają odwołać się do jeszcze wcześniejszych wyrażeń…
In[]:= Dt[Cos[x], x]
Out[]= -Sin[x]
Gdy chcemy liczyć pochodne cząstkowe używamy polecenia D; czasami trudno jest zauważyć różnicę:
In[]:= D[Sin[x], x]
Out[]= Cos[x]
Całka to Integrate
In[]:= Integrate[Sin[x], x]
Out[]= -Cos[x]
To była całka nieoznaczona, całka oznaczona to coś takiego:
In[]:= Integrate[x, {x, a, b}]

In[]:= Integrate[x, {x, 0, t}]

Może być zapisane także inaczej


w tym celu można posłużyć się „klawiaturą" wyświetlaną z boku przez Mathematice… albo innymi magicznymi zaklęciami. Całka to \ [Integral] (pisane BEZ odstępów!. Aby uzyskać π wystarczy napisać \ [Pi] ∑ to \ [Sum]
Wykresy
Możliwość tworzenia wykresów to kolejna mocna strona Mathematici. Najprostszy wykres tworzymy pisząc coś takiego:
In[]:= Plot[Sin[x], {x, -10, 10}]

Gdy chcemy wyrysować dwie funkcje (lub więcej) postępujemy tak:
In[]:= Plot[{Sin[x], Sin[x]^2}, {x, 0, 10}]

Jeżeli chcemy modyfikować wygląd wykresu, musimy zmieniać parametry (opcje). Niektóre funkcje mają ich całkiem sporo
In[]:= Plot[{Sin[x], Sin[x]^2}, {x, 0, 10}, Axes -> False, Background -> RGBColor[1, 1, 0], GridLines -> Automatic]

Jeżeli chcemy uzyskać listę dostępnych opcji polecenia możemy napisać Options[Plot]
In[]:= Options[Plot]

Dopuszczalne wartości opcji znajdziemy w Helpie…
Wykresy funkcji dwu zmiennych uzyskujemy za pomocą polecenia Plot3D
In[]:= Plot3D[Sin[x y], {x, -4, 4}, {y, -4, 4}, Mesh -> False, ViewPoint -> {1.675`, 1.796`, 3.238`}, PlotPoints -> 50]

Rozkłada na czynniki pierwsze. ↩︎