Professional Documents
Culture Documents
Wprowadzenie do programu
Mathematica
Zaczynajc prac z jakimkolwiek programem warto powici kilka chwil na poznanie
otoczenia, w ktrym bdziemy pracowa. W przypadku programu Mathematica jest to
bogaty zestaw palet i oferta wielopoziomowej pomocy, ktre w tej chwili moemy
spokojnie pomin i pozostawi na odpowiedniejszy moment. Dla nas w tej chwili
najwaniejszy jest pusty notatnik na ekranie. Tu bdziemy wpisywa nasze polecenia i
tu bdziemy oczekiwa wynikw. Na wielu typach ekranw domylny notatnik uywa
zbyt maych znakw aby mona byo wygodnie pracowa. Dobrym i sprawdzonym
rozwizaniem jest wyszukanie w menu FormatScreen Environment opcji Presentation.
W wyniku takiego wyboru otrzymujemy notatnik, ktry idealnie nadaje si do pracy
indywidualnej, jak rwnie do prezentacji w trakcie lekcji czy wykadu.
Aby zapozna si ze sposobem pracy w programie Mathematica wpiszemy nasze
pierwsze polecenie i wykonamy je. Zacznijmy od najbardziej naturalnego polecenia
jakie zadajemy programom komputerowym, np. aby rozwiza nam jakie proste
rwnanie, co w rodzaju x 2 5x 1 0. Polecenie rozwizania takiego rwnania
moe mie posta:
Solve[x^2 5 x 1 0, x]
Mirosaw Majewski
81178
3391
34!
295232799039604140847618609643520000000
Sqrt[1 2 2^2 2^3 2^4 2^5]
3 7
Bardziej skomplikowane wyraenia pierwiastkowe zapisujemy uywajc symbolu
potgi, np. 3 1 2 2 2 2 3 2 4 2 5 zapiszemy jako
3
Mirosaw Majewski
(1 2 2^2 2^3 2^4 2^5)^(1/3)
3 2/3 3 7
To samo wyraenie moe by zapisane z uyciem polecenia Power, tak jak poniej:
Power[1 2 2^2 2^3 2^4 2^5, 1/3]
3 2/3 3 7
Zauwamy przy tym, e wyraenie do obliczenia moe by podane w postaci liniowej,
jak powyej, lub w postaci dwuwymiarowego wyraenia jakie zazwyczaj widzimy w
podrcznikach matematyki, np.
234 456 752 345
23 34 75 32 78 99
Pisanie wyrae w tej postaci jest moliwe za pomoc odpowiednich palet symboli.
Moemy je znale w menu Palettes i dalej np. Classroom Assistant, lub Basic Math
Assistant. Poniewa na dalszych stronach tego tekstu bdziemy uywa licznych
polece korzystajcych gwnie z zapisu liniowego, opis palet i ich wykorzystania
zostawimy sobie na inn okazj.
Wreszcie zauwamy do istotn cech programu Mathematica. Jak kady inny CAS,
Mathematica stara si podawa wyniki w postaci symbolicznej, a wic 23 2
zamiast 4. 941 1, 1 zamiast 0. 1, itd. Jeli zatem chcemy aby program podawa nam
10
wyniki w postaci numerycznej, to musimy go do tego w jaki sposb zachci.
Sposobw zachty jest conajmniej trzy.
Moemy zapisa jedn z liczb w postaci dziesitnej, np. zamiast 234 napisa 234.0, to
wystarczy aby Mathematica podaa cay wynik w postaci dziesitnej.
(234.0 456)*(752 345)/((23 34)*(75 32) (78*99))
lub
(234 456)*(752 345)/((23 34)*(75 32) (78*99)) //N
Kade z tych polece wyprodukuje wynik 23. 9393. Na szczegln jednak uwag
zasuguje polecenie rodkowe. Tu moemy zada dodatkowej precyzji wyniku, np.
wynik z dokadnoci do 50 miejsc po przecinku otrzymamy przez uycie
dodatkowego parametru.
N[(234 456)*(752 345)/((23 34)*(75 32) (78*99)), 50]
23. 939250958419345325862577410793276319669713948688
Ostatnie z trzech powyej podanych polece zostao uyte w tzw. postaci postfix, czyli
4
3. 1415926535897932384626433832795028841971693993751
oraz
N[E, 50]
2. 7182818284590452353602874713526624977572470937000
wiczenia
1. Oblicz dziesitn warto uamka 123/456 z dokadnoci 10, 100, oraz 1000
miejsc po przecinku.
2. Oblicz oraz e z dokadnoci 150 miejsc po przecinku.
Sin[3 Pi/15]
cos x
Cos[3 Pi/15]
tan x
Tan[3 Pi/15]
cotx
Cot[3 Pi/15]
arcsin x
ArcSin[1/2]
arccos x
ArcCos[1/2]
arctan x
ArcTan[Sqrt[3]]
arccot x
ArcCot[Sqrt[3]]
Mirosaw Majewski
0.841471
Sin[Pi]
0
Sin[Pi/2]
1
Sin[Pi/4]
1
2
Podobnie jest w drug stron. Funkcje odwrotne do funkcji trygonometrycznych
podaj wyniki w postaci radianw, np.
ArcSin[1/Sqrt[2]]
ArcTan[Sqrt[3]]
3 1
2 2
Drug wan grup funkcji w matematyce szkolnej, czy uniwersyteckiej, s funkcje
wykadnicze i logarytmiczne.
Mamy zatem:
Funkcja Zapis w programie Mathematica i przykad uycia
ln x
Log[E*E]
log 10 x
Log[10,10234.0]
log 2 x
Log[2,15.]
log a x
Log[a,x]
ex
an
Power[a,n]
2
Log[10, 10234]
log10234
log10
Zauwamy, e jak zawsze, Mathematica stara si poda wynik w postaci symbolicznej.
Jeli jednak zaley nam na wyniku w postaci liczby dziesitnej, to wystarczy
zasugerowa t potrzeb w znany nam ju sposb.
Log[10, 10234.]
4.01005
Log[2, 15.]
3.90689
Log[a, b]
logb
loga
Exp[x]
ex
Power[a, b]
ab
Tu warto wspomnie o interesujcej wasnoci programu Mathematica jeli
zamiast pojedynczych argumentw bdziemy podawa argumenty w postaci list, to
wynik rwnie otrzymamy w postaci listy, w ktrej kady element zosta poddany
odpowiedniej operacji. Dla przykadu podniesienie do 3 potgi wszystkich wyrazw
pewnego cigu moe by wykonane jednym poleceniem,
Power[{a, b, c}, n]
a n , b n , c n
lub tak, gdy chcemy utworzy cig potg pewnego wyraenia
Power[a, {1, 2, 3, 4, 5}]
a, a 2 , a 3 , a 4 , a 5
lub nawet tak,
Power[{a, b, c, d, e}, {1, 2, 3, 4, 5}]
a, b 2 , c 3 , d 4 , e 5
W tym ostatnim przypadku musimy pamita, aby oba cigi miay t sam liczb
elementw.
7
Mirosaw Majewski
a d, b e, c f
{a, b, c}/{d, e, f}
a , be , c
d
f
Log[{a, b, c}]
1
2
3 5 , x
1
2
3 5
Solve[x^3 3 x 1 x^2 2 x 3, x]
x 2, x 3 1 , x 1 2/3
W podobny sposb rozwizujemy ukady rwna. Zauwamy, e to bardzo
przypomina to co zobaczylimy przy okazji funkcji Power. Tu rwnie grupujemy
rwnania, oraz zmienne dla ktrych chcemy otrzyma rozwizania, uywajc
nawiasw klamrowych.
Solve[{x y 1, x 2 y 2}, {x, y}]
4
3
, y 13
x 3, y 0, z 1
Funkcja Solve moe mie wiele interesujcych zastosowa. Dla przykadu, punkty
przecicia okrgu x 2 y 2 1 z prost y 12 x 12 mona otrzyma za pomoc
prostego polecenia,
Solve[{x^2y^21, yx/21/2}, {x, y}]
x 1, y 0, x
3
5
,y
4
5
wiczenia
Rozwi nastpujce rwnania lub ukady rwna w programie Mathematica.
1.
2.
3.
4.
5.
6.
7.
x 2 49 0
x2 x 6 0
20x 2 31x 9 0
x 2 3x 1 0
x 2 6x 1 0
x 2 7x 9 0
x 2 y 2 4xy 1 0, rozwi ze wzgldu na zmienn x, a nastpnie jeszcze raz
ze wzgldu na y.
8. x 3 x 2 x 1 0
9. x 2y 7 i x 2 4y 2 37
10. x y 1 i 16x 2 y 2 65
11. y x a i 2x 2 xy y 2 8
Mirosaw Majewski
1.3 Zmienne
Kademu obiektowi w programie Mathematica moemy przyporzdkowa jak
zmienn, lub inaczej mwic moemy mu nada nazw. W takim przypadku zamiast
za kadym razem wpisywa cay obiekt, np. system rwna, atwiej bdzie posuy
si jego nazw. Oto jak to wyglda w przypadku rwna.
Nasz ukad rwna otrzymuje nazw rwnania. Zauwamy, e nazwa moe zawiera
specyficzne polskie litery. Niestety system w ktrym edytuj ten tekst nie pozwala mi
na to.
rownania {x y 1, x 2 y 2}
x y 1, x 2y 2
Teraz nazywamy nasze zmienne i dokadamy rednik na kocu polecenia, aby
Mathematica nie wywietlaa niepotrzebnego na ekranie wyniku.
zmienne {x, y};
4
3
, y 13
4
3
oraz
r2 y/. rozwiazania
13
A nastpnie odrzucamy zbdne nawiasy klamrowe,
r1 r1[[1]]
4
3
10
13
Teraz moemy ju bez problemu operowa naszymi rozwizaniami dalej, np.
r1r2
5
3
27
Przyjrzyjmy si jeszcze przez moment jak dziaa operacja podstawiania w nieco
bardziej zoonej sytuacji. Polecenie
rozw Solve[{x^2 y^2 1, y x/2 1/2}, {x, y}]
3
5
,y
4
5
1 0
3
5
4
5
1
x2 u[[2, 1]]
3
5
y1 u[[1, 2]]
0
11
Mirosaw Majewski
y2 u[[2, 2]]
4
5
Teraz naley tylko zapamita, e pierwszy numer w parze [n,m] oznacza wiersz
macierzy, a drugi kolumn, w ktrej znajduje si dane rozwizanie. Kolumny
zazwyczaj odpowiadaj kolejnym zmiennym x, y, itd., numery wierszy s numerami
poszczeglnych par (trjek, itd.) rozwiza.
wiczenia
Wpisz deklaracje nastpujcych wyrae
1. pierwiastek
x 1
2. drugiPierwiastek
2
1x
1
x
3. wielomian 3x 3 2x 2 x 1
1
4. uamki b 1 1
b a1 1
a x
c
x
5. duoPierwiastkw
1
b
1
a 1x
a a a a x
1.4 Funkcje
Funkcje i relacje s istot matematyki. Uywamy ich w kadej dyscyplinie
matematycznej. Moemy je rwnie definiowa w programie Mathematica. Oto kilka
przykadw
Tak definiujemy funkcje jednej zmiennej
f[x_] : x^2 3 x 2
g[x_] : 2 Sin[3 x] 3 Cos[5 x]
a 1 2 3a 1 2
g[Pi/4]
3
2
485815
s[x_, y_, n_] : Expand[(x y)^n]
s[a, b, 5]
1597
Tak zdefiniowana funkcja rekurencyjna nie jest zbyt szybka i ma ograniczenia
odnonie liczby krokw rekurencji, dlatego powinna by stosowana raczej dla maych
wartoci argumentu. Bardziej efektywna metoda deklaracji funkcji rekurencyjnych
pojawi si przy innej okazji.
Na zakoczenie omawiania deklaracji funkcji warto wspomnie jak mona szybko
utworzy pewn liczb wyrazw cigu majc jego wzr. Dla przykadu pierwsze 15
wyrazw cigu Fibonacciego utworzymy za pomoc nastpujcego polecenia.
13
Mirosaw Majewski
Table[fibo[n],{n, 1, 15}]
3
Dalej moemy zadeklarowa funkcj uywajc symboli x i y. Tu jeszcze nic zego si
nie dzieje.
f[x_] : x^2 3 x 1
Natomiast jeli w tym momencie zechcemy sprawdzi jak nasza funkcja wyglda, lub
uy jej do zbudowania bardziej zoonej funkcji, to ju zaczyna dziaa istnienie
deklaracji dla x.
f[x] 2 f[x]^2
21
Mog nas np. spotka takie niespodzianki jak ta poniej,
Solve[f[x] 0, x]
14
1
2
3 13 , x
1
2
13 3
wiczenia
Napisz deklaracje poniej wymienionych funkcji, a nastpnie wylicz ich wartoci dla
x 2 oraz x 3 .
1. fx
1 2x 1
1
2. gx
2
3x 3x 5
3. hx x 4 2x 2 4
1
1
4. Frx
5. Rtsx
x 2x 3x 4x x
1
x
1
1 1x
x 5x 3 2 x 1 3
Teraz moemy rozwin nasz wielomian,
B Expand[A]
x 5x 3 2 x 1 3
Mathematica uproci wikszo elementarnych wyrae matematycznych,
Simplify[Sin[2*x]^2 Cos[2*x]^2]
15
Mirosaw Majewski
Simplify[Sin[3*x] * Cos[3*x]]
1 sin6x
2
Simplify[Exp[x]*Exp[3*x]Exp[x]*Exp[2*x]]
e 3x e x 1
Mathematica moe rwnie uproci dowolne wyraenie korzystajc z podanych jej
zaoe. Tu, dla przykadu, pokazujemy jak uproci wyraenie uwzgldniajc znak
zmiennej wystpujcej w wyraeniu.
Simplify[Sqrt[x*(Sqrt[x] x)^2]]
xx x 3
To samo polecenie, ale z dodatkowym zaoeniem x 0 daje zupenie inny wynik.
Simplify[Sqrt[x*(Sqrt[x] x)^2], x 0]
x 3/2 x
Na zakoczenie zajmijmy si jeszcze przez chwil wielomianami. Oto wielomian dwu
zmiennych Px, y xy axy x 2 y axy 2 x ax. Wielomian ten moe by zwinity
wzgldem dowolnej zmiennej w nim wystpujcej lub wzgldem wszystkich
zmiennych. Oto jak to wyglda w praktyce.
P x*y a*x*y x^2*y a*x*y^2 x a*x
axy 2 axy ax x 2 y xy x
Teraz w zalenoci od potrzeb uywamy procedury Collect z odpowiednim
parametrem.
Collect[P, x]
xay 2 ay a y 1 x 2 y
Collect[P, y]
yax x 2 x axy 2 ax x
Collect[P, {x, y}]
xay 2 a 1y a 1 x 2 y
W rachunku cakowym jak i w algebrze przeksztacamy czasem wyraenia wymierne
do postaci tzw. uamkw prostych, czyli sumy wyrae wymiernych, w ktrych
mianownik jest wielomianem nierozkadalnym, co najwyej stopnia drugiego, a
licznik jest wielomianem stopnia zerowego, lub co najwyej pierwszego. W programie
Mathematica rozkadanie wyrae wymiernych na uamki proste wykonujemy za
pomoc procedury Apart. Zacznijmy, zatem od zadeklarowania wyraenia
wymiernego a nastpnie zobaczmy, co z niego otrzymamy za pomoc procedury
Apart.
16
x2
x 3x 2
3
Apart[w]
5
4
1
9x 2
9x 1
3x 1 2
wiczenia
1. Rozwi nastpujce wyraenia:
a. 2x 3 2
b. 4x 2 1 2
c. x 1 2 x 3 4
d. x 2x 3 5 x 4 2
e. 1 x n , dla n 2, 3, 4, 5.
2. Rozwi nastpujce wyraenia z funkcjami trygonometrycznymi:
a. sin x cos x 3
1 sin x 5
b.
cos x
c. tanx 1
d. cotx 2 1
3. Zapisz w postaci iloczynu dwumianw:
a. 2x 2 3x 3
b. 4x 4 5x 2 1
c. 9x 2 21x 10
d. 6x 2 4x 4x 3 x 4 1
1x 1 1
1x 1
1
e.
2
1y 2
2
y1 2
4. Upro nastpujce wyraenia:
a. cos x sin y cos y sin x
b. 5x 10x 2 10x 3 5x 4 x 5 1
1x 1 1
1x 1
1
c.
2
1y 2
2
y1 2
5
1 3x
d.
1 3x3 9x
2 3
e.
2 3
5. Rozwi na uamki czciowe:
x7
a.
x2 x 6
17
Mirosaw Majewski
2
6
b. 50x3 20x
x 2x 2 x
x2
x x1
3
x 2 3x 2 1
2x
2
x3 x 1
x 3 x 1
W podobny sposb moemy wyliczy drug pochodn i kolejne,
D[w,x,x]
2x 2 3x 2 1 2
4x3x 2 1
6x 3
2
x3 x 1
x 3 x 1 2
x 3 x 1 2
x 3 x 1 3
sinx
x 1 2
D[h, x, x, x]
6 sinx
24 sinx
cosx
18 cosx
5
3
2
x 1
x 1
x 1
x 1 4
Pochodne czstkowe funkcji wielu zmiennych otrzymujemy w identyczny sposb jak
pochodne funkcji jednej zmiennej.
u (Sin[x] Cos[y])*(Cos[x] Sin[y])
18
x 3 3x 2 x
3
2
Dotychczas przeprowadzalimy operacje na wyraeniach matematycznych, te same
operacje moemy wykonywa na wczeniej zadeklarowanych funkcjach. Jest tu kilka
istotnych rnic, o ktrych warto pamita.
Zacznijmy zatem od zadeklarowania funkcji.
f[x_] : 1/(1 x^3)
No, a teraz, skoro ju zdefiniowalimy sobie funkcj, to moemy wyliczy jej pochodn
i cak. Mamy zatem pochodn,
D[f[x], x]
3x 2
x 1 2
3
cak nieoznaczon,
Integrate[f[x], x]
1 logx 2 x 1 1 logx 1
6
3
tan 1
2x1
3
1 3 3 log 12 6 3 tan 1 3 3
7
18
oraz cak oznaczon w granicach od zera do nieskoczonoci.
Integrate[f[x], {x, 0, Infinity}]
2
3 3
Inn czynnoci na lekcjach rachunku rniczkowego jest znajdowanie granic funkcji i
cigw. Na pocztek zajmijmy si granicami funkcji. Zbadajmy granice funkcji znanej z
poprzedniego przykadu, w dwu punktach, dla x 0, oraz dla x 1, gdzie wystpuje
niecigo drugiego rodzaju.
f[x_] : 1/(1 x^3)
1
Oto granica tej funkcji w punkcie x 1 z lewej strony,
Limit[f[x], x 1, Direction 1]
19
Mirosaw Majewski
e
Zauwamy, e moglimy zadeklarowa nasz cig uywajc maej litery e. To gwnie
dlatego, e Mathematica uywa duych liter do oznaczania swoich staych i procedur.
wiczenia
Napisz polecenia deklarujce, a nastpnie obliczajce, pochodne i caki podanych
poniej funkcji.
1.
2.
3.
4.
x3 x2 x 1
sin x cos x
tan x cot x
2
e 1xx
1x
5. y
1 x x2
y
y
y
y
1.7.2 Nawiasy
Mathematica uywa rnych rodzajw nawiasw do zupenie rnych celw.
Wpisanie zego nawiasu powoduje, e program nie rozumie naszego polecenia
poprawnie i nawet jeli otrzymamy wynik to bdzie on zy.
1. Nawiasy kwadratowe uywane s do wpisywania argumentw polece czy
funkcji, np. Sin[x], Solve[x^210,x]. Uywamy ich rwnie do
oznaczania indeksw wyrazw w cigach lub bardziej zoonych strukturach.
2. Nawiasy klamrowe uywane s do tworzenia list, np. {x,0,1}, {n, 1, 15},
itd.
3. Nawiasy okrge uywane s do grupowania wyrae we wzorach, np.
(1x)^2, (Sin[x]/(Cos[x]1))^2
4. Nawiasy okrge z gwiazdk s ignorowane przez program, a zatem mog
suy jako komentarz, np. (* A ten tekst nic nie znaczy *). Taki
fragment wpisany na obszarze dowolnego polecenia Mathematica zignoruje.
5. /. jest uywany w celu zastosowania okrelonych regu do wyraenia po
prawej stronie, np. x^2 /. x5 podstawi warto 5 w wyraeniu x^2.
Zauwamy przy tym, e to podstawienie jest tymczasowe. Jeli za chwil
zechcemy uy zmiennej x to okae si, e ma ona cigle swoj dotychczasow
warto.
6. // pozwala otrzyma warto wyraenia po lewej stronie przeksztaconego
funkcj uyt po prawej stronie, np. polecenie x^2 1 0 //Solve
spowoduje rozwizanie rwnania po lewej stronie.
Mirosaw Majewski
3. Znak ":" uywany jest do deklarowania funkcji, np. f[x_] : 1/(1 x^3).
W takim przypadku wyraenie po lewej stronie jest nazw funkcji, zmienna z
podkreleniem jest zmienn, za ktr moemy podstawia wartoci, wyraenie
po prawej stronie jest definicj naszej funkcji.
22
Mirosaw Majewski
Plot[{Cot[x],Cot[x^2],Cot[x^3],Cot[x^4]}, {x,Pi,Pi},Filling Axis]
wiczenia
Znajd w pomocy programu Mathematica informacj o poniej wymienionych
procedurach. Napisz kilka polece ilustrujcych dziaanie tych procedur.
TrigExpand
PowerExpand
TrigReduce
24