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.
- Zmienne.
- Funkcje wbudowane powszechnego użytku.
- Definiowanie własnych funkcji.
- Obliczenia symboliczne.
- Zapowiedź trzeciej części.
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.
- %e – podstawa logarytmu naturalnego, zwana liczbą Eulera (
)
- %i – jednostka urojona (
)
- %phi – złota liczba (
)
- %pi – liczba Pi (π)
- false – logiczny fałsz (zaimplementowany jako NIL znany z Lispa)
- true – logiczna prawda (zaimplementowany jako T znany z Lispa)
- inf – dodatnia rzeczywista nieskończoność (∞)
- minf – ujemna rzeczywista nieskończoność (-∞)
- infinity – nieskończoność zespolona (∞)
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(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);
>
< 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!);
>
< 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));
> 
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));
> 
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:
- rozwiązywanie równań,
- rozwiązywanie układów równań,
- wykresy w dwóch i trzech wymiarach,
- obliczanie granic funkcji.
Część 3.: Równania. Wykresy. Granice. Pochodne. Całki. Sumy i iloczyny. »
Comments
uuu on
jak zobaczyc poszczegolne kroki?