Maxima – rozwiązywanie problemów matematycznych, część druga

« Część 1.: Wstęp. Informacje dodatkowe. Proste operacje arytmetyczne.

W drugiej części kursu obsługi Maximy zajmę się omówieniem stałych i zmiennych, omówieniem funkcji (zarówno wbudowanych jak i zdefiniowanych przez użytkownika) oraz na podstawowych operacjach symbolicznych.

Spis rzeczy:

Stałe.

Z racji tego, iż w matematyce wykorzystywane są pewne ważne liczby, bardzo pożądane jest by zostały one jakoś wcześniej zdefiniowane. Nie inaczej jest w Maximie. Pozwolę sobie podać listę stałych predefiniowanych w tym programie, ponieważ nie jest ona zbyt długa.

Stałych używamy tak jak zwykłych liczb – po prostu wpisujemy oznaczenia stałych w miejsca, w których chcemy ich użyć.

Zmienne.

Zmienne są bardzo przydatne. Z ich pomocą możemy sobie skrócić czas, który tracimy podczas wpisywania wielu podobnych wyrażeń. Zmienne definiujemy używając „:” (dwukropka), poprzedzającego nazwę zmiennej.

< x: 4;
> 4
< 2 * x;
> 8

Do zmiennych można przypisywać nie tylko pojedyncze liczby, ale i całe wyrażenia, np.:

< a: 2 * 5 ^ 3 - 2 * 3 ^ 2; b: 2 ^ 7;
> 232
> 128
< a - 2 * b;
> -24

Funkcje wbudowane powszechnego użytku.

Z powodów praktycznych nie mogę (i nie chcę) podać listy wszystkich funkcji zaimplementowanych w Maximie. Zainteresowanych zapraszam do oficjalnego podręcznika Maximy.

W tej paragrafie kursu chciałbym się mianowicie zająć pokazaniem w jaki sposób korzystać z funkcji wbudowanych w ten program. Zacznijmy od przykładów.

< tan(3 * %pi / 4) - sin(%pi);
> -2
< log(%e);
> 1
< float(2 * %phi - %pi);
> 0.094475323909997
< float(sin(sqrt(log(%e^2))));
> 0.98776594599274

Z pokazanych przykładów widać, że użycie funckcji sprowadza się do wpisania nazwy funkcji oraz podania argumentów przyjmowanych przez nią w nawiasach następujących po tej funkcji. Wielokrotne zagnieżdżanie również nie sprawia problemów.

Definiowanie własnych funkcji.

Jako, że Maxima udostępnia mechanizm definiowania funkcji, nic nie stoi na przeszkodzie, by samemu je sobie zdefiniować. Funkcje definiujemy w ten sposób: f(x) := x^2 - 4 * x + 3, gdzie f jest nazwą funkcji, x jest parametrem przyjmowanym przez funkcję, „:=” jest kluczową kombinacją znaków potrzebną do zdefiniowania funkcji, a x^2 - 4 * x + 3 jest definicją funkcji. Sprawdźmy jak to działa w praktyce:

< f(x) := x^2 - 4 * x + 3;
> f(x)\,:=x^2-4x+3
< f(3);
> 0

Jak się okazuje, istnieją przydatne funkcje, które w Maximie nie zostały zdefiniowane. Jedną z takich funkcji jest logarytm dziesiętny. Spróbujmy go zatem utworzyć:

< log10(x) := log(x) / log(10);
> \log_{10}(x):=\frac{\log x}{log 10}
< log10(10);
> 1 

Obliczenia symboliczne.

W skrócie, obliczeniami symbolicznymi nazywamy operacje matematyczne wykonywane na wyrażeniach matematycznych. Przykładami obliczeń symbolicznych są, między innymi, rozkład na czynniki, upraszczanie równań, rozwijanie wielomianów czy chociażby obliczanie całek i równań różniczkowych.

Maxima udostępnia nam szereg funkcji służących do obliczeń symbolicznych. Do podstawowych należą:

factor służy do rozkładu liczby lub wielomianów na czynniki, np.:

< factor(14!);
> 2^{11}\,3^5\,5^2\,7^2\,11\,13
< factor(x^2 - 4 * x + 3);
> (x - 3) (x - 1)

expand pozwala rozwijać wielomianów z postaci iloczynu do postaci ogólnej

< expand((x - 3)*(x - 1));
> x^2-4x+3

ratsimp upraszcza ułamki

< ratsimp((x^2-4)/(x+2));
> x - 2

trigsimp upraszcza nam wyrażenia trygonometryczne

< trigsimp(cos(x)^2 + sin(x)^2);
> 1

trigexpand rozwija wyrażenia trygonometryczne

< trigexpand(sin(3*x));
> 3\cos^2x\cdot\sin\,x-\sin^3x

Oczywiście nie są to wszystkie funkcje, które udostępnia nam program. Wszystkie funkcje opisane są w oficjalnym podręczniku Maximy, tak jak pisałem wcześniej.

Dodatkowo Maxima potrafi wyświetlić nam output w TeX. Robi to funkcja tex() (tex(%) wyświetli nam w TeXu wynik ostatniego działania).

< tex(%)
> $$3\,\cos ^2x\,\sin x-\sin ^3x$$

Zapowiedź trzeciej części.

W niedługim czasie pojawi się kolejna, trzecia, odsłona kursu obsługi Maximy, a w niej:

Część 3.: Równania. Wykresy. Granice. Pochodne. Całki. Sumy i iloczyny. »

Leave a Reply