mxm 09 f pot wykl log odsetki

background image

Analiza Matematyczna - laboratorium. Maxima.

9. Funkcje potęgowe, wykładnicze i logarytmiczne – nieśmiało
zaglądamy do świata finansów.

O funkcjach potęgowych mówiliśmy już trochę przy okazji omawiania funkcji kwadra-

towej – wspominaliśmy tam o liczeniu pierwiastków oraz o wpływie dziedziny (domain)
na sposób obliczania takich funkcji. Teraz przyjrzyjmy się funkcjom potęgowym od tro-
chę innej strony. Popatrzmy jak Maxima radzi sobie z upraszczaniem pewnych wyrażeń:

(%i)

ratsimp( x^(-3/2)+x^(4/5) );

(%i)

factor( x^(-3/2)+x^(4/5) );

Jak widać znane nam polecenia działają i w takich sytuacjach.
Sprawdźmy jak Maxima radzi sobie z rozwiązywaniem równań zawierających pier-

wiastki kwadratowe.

(%i)

solve( 1 = sqrt(x^2+x+3), x);

Tu radzi sobie bardzo dobrze. Ale:

(%i)

solve( x = sqrt(x^2+x+3), x);

jest już za trudne... W zasadzie przykład jest łatwy - wiadomo jak sobie z nim poradzić.
Ale jak zmusić do tego Maximę? Standardowo dostępne metody z przykładem tym nie
dadzą sobie rady. Może wydawać się to dosyć zaskakujące - w końcu wystarczy podnieść
rówanie stronami do kwadratu i już jest OK... ale to przecież nie takie proste! Dla tego
typu równań nie ma reguły – spróbujmy bowiem rozwiązać równanie

2x

2

+ x = x

Po podniesieniu obu stron do kwadratu mamy

2x

2

+ x = x

2

czyli x = 1 lub x = 0. Jednak to pierwsze rozwiązanie nie może być poprawne – przecież
po lewej stronie równania jest pierwiastek, a po prawej liczba ujemna. Wydaje nam się,
że ten przykład usprawiedliwia Maximę – samo rozwiązanie nie wystarcza, trzeba jeszcze
sprawdzać czy ma sens – pamiętajmy również, że jeśli rozwiązujemy równanie w sposób
przybliżony, to wszystkie wyniki obarczone są błędem i wszystko robi się strrrasznie
skomplikowane...

Mamy jednak do dyspozycji pakiet topoly solver – a w nim polecenie to poly solve,

które z takimi równaniami sobie radzi:

load( "topoly solver" )
to poly solve(sqrt( 2*x^2 + x) = x, x)

1

background image

Jest super, prawda?
No dobrze – pora jednak przejść do funkcji wykładniczych. Zatrzymamy się tu na

chwilę. W pierwszej kolejności warto przypomnieć sobie jak wyglądają ich wykresy.

Zadanie 9.1 Naszkicować, we wspólnym układzie wsółrzędnych, wykresy funkcji f, g, h :
[6, 6] R danych wzorami f (x) = 2

x

, g(x) = 3

x

, f (x) = e

x

. Liczbę Eulera e zapisu-

jemy w Maximie jako %e.

Zobaczmy jeszcze jak Maxima radzi sobie z pewnymi prostymi równaniami wykład-

niczymi.

Zadanie 9.2 Przy pomocy polecenia solve rozwiązać równania
a) 2

x

2

3x+2

= 4;

b) 4 2

x

2

x

= 3;

c) 4

x

2

x

= 0.

Równania są rzeczywiście bardzo proste. Pierwsze z nich rozwiązuje się bez najmniej-

szego problemu. Następne jednak... hmm... jakoś nie. W ostatnim przykładzie proble-
mem jest to, że Maxima nie wykonuje odpowiedniego podstawienia – myślę, że tego
można było się spodziewać. Ale skąd problemy w przykładzie drugim? Dlaczego nie wy-
konuje tu odpowiedniej redukcji? Przecież każde polecenie uproaszczające (np. ratsimp)
przerobi wyrażenie 4 · 2

x

2

x

na 3 · 2

x

... No cóż – tak po prostu jest.

Popatrzmy na trudniejszy przykład:

(%i)

solve(2^x = 4*x+2)

Tutaj Maxima nic nie zdziała – co więcej sami też raczej nic nie wymyślimy... Tego

równania nie da się po prostu rozwiązać symbolicznie. Nie ma wzoru z którego mogliby-
śmy skorzystać, czy podstawienia które nam to równanie istotnie uprości. Nic. Bieda.

Skoro jednak nie możemy rozwiązać tego dokładnie, to może znajdą się jakieś metody

przybliżone? Jak zwykle Maxima przychodzi z pomocą – gdy niknie nadzieja na powo-
dzenie, gdy rozwiązanie problemu zdaje się oddalać z coraz większą prędkością, okazuje
się, że jednak można! Mamy do dyspozycji bardzo ogólną metodę find root, która szu-
ka miejsc zerowych dowolnej funkcji. Jasne, ze nie jest to tak piękne jak wygląda na
pierwszy rzut oka, ale w sumie jest OK. Popatrzmy:

(%i)

find root( 2^x - 4*x-2, x, 0, 10 )

Podaje nam rozwiązanie równania. No dobrze – dwa pierwsze argumenty podanej tu

procedury są jasne – ale co oznaczają dwa następne? Dwa ostatnie argumenty to począ-
tek i koniec przedziału, w którym procedura ma szukać miejsca zerowego funkcji. Tak,
tak... niestety to my sami musimy wiedzieć! A skąd? No, to zależy – można zgadywać,
można narysować wykresy, można zbadać własności funkcji... Zwykle wiele powie nam
wykres:

2

background image

oraz znajomość własności funkcji (np. monotoniczności czy zbioru wartości) – w ten spo-
sób często możemy uzasadniać, że rozwiązania zidentyfikowane graficznie są jedynymi.

Popatrzmy na przykład:

(%i)

find root( 2^x - 4*x-2, x, -10, 10 )

Otrzymujemy następującą odpowiedź:

function has same sign at endpoints [f(-10.0)=38.0009765625,f(10.0)=982.0]

To sytuacja, z którą często możemy się spotkać. Otóż wskazany przez nas przedział

musi spełniać jeden podstawowy warunek: jeżeli szukamy miejsc zerowych funkcji f ,
to na krańcach tego przedziału funkcja ta musi przyjmować wartości różnych znaków.
Jeżeli funkcja f jest ciągła na podanym przedziale, to daje nam to gwarancję istnienia
miejsca zerowego (na mocy tzw. własności Darboux) – i na tym opiera się pomysł na
metodę find root. Ciągłość funkcji, której miejsc zerowych szukamy jest konieczna dla
powodzenia metody – popatrzmy na przykład:

(%i)

find root(1/x,x,-10,10);

Jeszcze jedna ważna uwaga: procedura find root zwraca nam zawsze jedno miejsce

zerowe – niezależnie od tego ile miejsc zerowych rzeczywiście znajduje sie w podanym
przedziale. Niech potwierdzeniem będzie przykład:

(%i)

find root((x+1)*x*(x-2),x,-10,10);

Uzbrojeni w powyższe informacje możemy zająć się kolejnymi zadaniami:

Zadanie 9.3 Znaleźć wszystkie rozwiązania równania 2

x

= x

2

− x − 3.

Zadanie 9.4 Znaleźć wszystkie rozwiązania równania 2

x

= x

3

4x

2

.

3

background image

Przejdźmy teraz do funkcji logarytmicznych. Przede wszystkim musimy wspomnieć,

że Maxima oferuje nam tylko jedną funkcję logarytmiczną log. Jest to logarytm natu-
ralny – sprawdźmy:

(%i)

log(%e)

Innych predefiniowanych funkcji nie ma – ale w razie potrzeby można je podefiniować.

Zadanie 9.5 Zdefiniować funkcję log10(x) zwracającą log

10

x.

Zadanie 9.6 Zdefiniować funkcję logab(a,b) zwracającą log

a

b.

Warto powiedzieć kilka słów o upraszczaniu wyrażeń z logarytmami. Otóż Maxima

może traktować wyrażenia log(xy), log(x/y) czy log(x

y

) w różny sposób – przekształcać

je zgodnie ze znanymi wzorami – lub nie. Steruje tym zmienna globalna logexpand.

Sprawdźmy jak Maxima zachowa się po wprowadzeniu podanych niżej wzorów dla

ustawień logexpand:true (to jest ustawienie domyślne), false oraz all.

(%i)

log(x*y)

(%i)

log(x/y)

(%i)

log(x^y)

Możemy teraz przyjrzeć się ważnym zastosowaniom logarytmów. Przede wszystkim

warto wiedzieć, że w świecie finansów logarytmy są czymś bardzo ważnym i naturalnym
– jeżeli interesują nas zmiany wartości ekonomicznych, to zwykle patrzymy nie tyle na
zmiany bezwzględne (np. ceny w złotych) ile na zmiany względne (procentowe). ”Wzrost
cen akcji o 10%” jest dużo bardziej istotną (precyzyjną) informacją niż ”Wzrost cen
akcji o 2,50 złotych”. I tutaj okazuje się, że wygodnie jest patrzeć nie tyle na wartości
bezwzględne (np. cenę, wartość obrotu, wartość indeksu giełdowego) ile na ich logarytmy.
Mam nadzieję, że o sensowności takiego spojrzenia przekona nas następujący przykład:

Zadanie 9.7 Wygenerujmy listę 100 początkowych wyrazów ciągu geometrycznego o
ilorazie 1.1 oraz pierwszym wyrazie a

1

= 10. Następnie wygenerujmy listę logarytmów

dziesiętnych tych wartości. Uzasadnić, że wygenerowany ciąg jest ciągiem arytmetycz-
nym.

Cóż możemy zauważyć? Tak, tak – pierwszy ciąg pokazuje nam stały wzrost o 10%

– każda następna liczba jest większa od poprzedniej o 10%. Z kolei drugi ciąg pokazuje
nam stały wzrost o wartość log

10

11 1.

I podobnie – jeżeli funkcja jest postaci y = b · a

x

, to złożenie tej funkcji z funkcją

logarytmiczną jest już funkcją liniową.

Stały procentowy wzrost (spadek) jest zjawiskiem występującym w bardzo wielu mo-

delach ekonomicznych. Ze względu na to, że takie modele prowadzą do wykładniczego
wzrostu (spadku) analizowanych wartości okazuje się, że dosyć trudno jest tego typu
dane analizować i przedstawiać na wykresie w dłuższym okresie czasu (na długich prze-
działach). Wykresy stają się nieczytelne ze względu na olbrzymią rozpiętość wartości

4

background image

na osi OY. Dlatego bardzo często stosuje się tzw. skalę logarytmiczną – odpowiada to
temu, że oś OY na wykresie nie jest pokazana w zwykly sposób tylko tak, jakby war-
tości pokazywanej funkcji były dodatkowo złożone z funkcją logarytmiczną (o ustalonej
podstawie). Niech za przykład posłużą nam wykresy:

(%i)

plot2d( [2^x,3^x,%e^(-x)], [x,-6,6] );

(%i)

plot2d( [%e^(x^2)], [x,-6,6] );

(%i)

plot2d( [2^x,3^x,%e^(-x)], [x,-6,6], [logy] );

(%i)

plot2d( [%e^(x^2)], [x,-6,6], [logy] );

Dwa pierwsze wykresy pokazane są w tradycyjny sposób, dwa kolejne z uwzględnie-

niem na osi OY skali logarytmicznej.

A co świat finansów ma jeszcze wspólnego z funkcjami wykładniczymi i logaryt-

mami? Oj dużo, dużo! Przede wszystkim ze względu na składanie procentów. Co to
znaczy? Załóżmy, że na rachunek bankowy wpłacono jednorazowo kwotę A złotych oraz
po upływie każdego roku od chwili wpłaty dopisuje się p% odsetek. Załóżmy dodatkowo,
że z konta nie wypłaca się żadnych pieniędzy. W tej sytuacji kwota znajdująca się na
rachunku po upływie n lat dana jest wzorem

a

n

= A ·



1 +

p

100



n

.

Zadanie 9.8 Wygenerować listę ze stanem rachunku bankowego oprocentowanego na
6, 78% w skali roku w pierwszych 10 latach przy założeniu, że
a) pieniądze nie są wypłacane;
b) całość odsetek jest wypłacana od razu po naliczeniu.

Ciekawe wyniki osiągniemy, kiedy zastanowmy się nad tym, jak sytuacja wyglądać

będzie kiedy odsetki kapitalizowane będą częściej niż raz do roku. Popatrzmy – jeżeli
odsetki dopisywane będą co 6 miesięcy, to po pół roku na koncie pojawi się połowa odse-
tek należnych za cały rok. Czyli stan rachunku bankowego po roku (czyli po dwukrotnej
kapitalizacji) wyglądać będzie następująco:

a

1

= A ·



1 +

p/2

100



2

.

I ogólnie, jeżeli założymy, że kapitalizacja ma miejsce k razy w ciągu roku, to stan

rachunku po roku wygląda tak:

a

1

= A ·



1 +

p/k

100



k

.

Zadanie 9.9 Porównać kwoty zgromadzone po roku, jeżeli na rachunek wpłacono 100
złotych, rachunek oprocentowany jest na 10% w skali roku, dla kapitalizacji rocznej,
półrocznej, kwartalnej, miesięcznej oraz dziennej.

5

background image

Uzyskane wyniki są bardzo interesujące, prawda? Kwota zdaje się rosnąć – im częściej

odsetki są kapitalizowane, tym więcej mamy na koncie po roku. Jednak ten wzrost jest
coraz wolniejszy... A co stanie się, jeżeli liczba kapitalizacji w roku (czyli k) będzie dążyła
do +? Zauważmy, że wówczas

a

1

= Ae

p

100

.

Oczywiście mamy tu do czynienia z procesem fizycznie niewykonalnym – nie da się

kapitalizować nieskończenie często. Jest to jednak dosyć wygodna abstrakcja – na tyle
wygodna, że powszechnie stosowana w przeróżnych modelach ekonomicznych. Nazywa
się to cudo kapitalizacją ciągłą i pozwala nam zakładać, że inwestowane pieniądze mogą
być wycofane w dowolnym momencie czasu przy wypłaceniu odpowiednich odsetek. Przy
takim podejściu nie musimy na osi czasu wyróżniać żadnych specjalnych punktów (w
których bank dopisuje odsetki) – wyróżnienie takich momentów bardzo mocno kompli-
kowałoby model matematyczny. A tak możemy każdą chwilę traktować tak samo. Któż
by się spodziewał, że liczba Eulera trafi do banków? A jednak – kolejny raz widzimy, że
życie jest pełne niespodzianek.

Na zakończenie policzmy sobie trochę finansowych zadanek:

Zadanie 9.10 Wpłacamy złotówkę do banku, który oferuje oprocentowanie w wysokości
100% w skali roku – i to kapitalizowane w sposób ciągły. Ile otrzymamy po roku?

Zadanie 9.11 Jeżeli do banku wpłacono 100 złotych zaś rachunek oprocentowany jest
na 8% w skali roku, to po ilu latach saldo na rachunku przekroczy 100000 złotych?

Zadanie 9.12 Bank A oferuje konto oprocentowane 4, 5% w skali roku z kapitaliza-
cją miesięczną. Bank B oferuje kapitalizację roczną. Jakie powinno być oprocentowanie
rachunku w banku B, aby ofety były jednakowo atrakcyjne (zakładamy, że nie są wy-
płacane żadne pieniądze)?

Zadanie 9.13 Bank A oferuje konto oprocentowane 4, 5% w skali roku z kapitalizacją
miesięczną. Bank B oferuje kapitalizację kwartalną. Jakie powinno być oprocentowa-
nie rachunku w banku B, aby ofety były jednakowo atrakcyjne (zakładamy, że nie są
wypłacane żadne pieniądze)?

6


Wyszukiwarka

Podobne podstrony:
TM33Funkcje pot wyk log cyklometryczne, Funkcja potęgowa, wykładnicza i logarytmiczna
Psychologia spoleczna 09 10 Wykl 13 v1
pierw wykł log tryg cykl
Proj syst log wykl 6
Wykł L 09 displeje ciekłokrystaliczne
Ekonomika log 09.04.2011 sob, Ekonomika logistyki
PIF2 2007 Wykl 09 Dzienne id 35 Nieznany
archi wykl 09
Proj syst log , wykl 1
wykl 09 07
Proj syst log , wykl 4
Wykł 09 Statyka i dynamika płynów
MD wykl 09
Język jako narzedzie komunikacji wykł 2 09.10.07
Proj syst log , wykl 2
Proj syst log , wykl 5

więcej podobnych podstron