Tehtävä:
Logaritmit
Lyhyt
MathCheck-ohje (uuteen välilehteen)
Logaritmi on määritelty vain positiivisille luvuille.
Positiivisen luvun `a` `b`- kantainen
logaritmi eli `log_b a` on se luku `x`, jolle `b^x = a`.
Kun `0 < b < 1` tai `b > 1`, on olemassa täsmälleen yksi tällainen
`x`.
Määritelmästä seuraa tärkeä kaava:
`log_b b^x = x`
Jatkossa oletamme, että kantaluku `b > 1`.
Logaritmit saisi toimimaan myös kun `0 < b < 1`, mutta sitä tarvitaan
harvoin ja sen kanssa asia muuttuisi monimutkaisemmaksi, joten käsittelemme
vain logaritmeja `log_b a`, missä `a > 0` ja `b > 1`.
ok_text Oikein!
hide_expr only_no_yes_on f_nodes 1 2 =
`log_5 25 =`
tai
ok_text Oikein!
hide_expr only_no_yes_on f_nodes 2 -3 =
`log_3 (1/27) =`
tai
ok_text Oikein!
hide_expr only_no_yes_on f_nodes 1 0 =
`log_123 1 =`
tai
Ihmisille helpoimpia ovat 10-kantaiset logaritmit.
Logaritmien merkintätavoissa esiintyy vaihtelua.
MathCheckissä `x`:n 10-kantainen logaritmi merkitään log x .
Luvun 100…0 10-kantainen logaritmi on nollien määrä luvussa.
Luvun 0.00…01 10-kantainen logaritmi on nollien määrän vastaluku (mukaan
lukien desimaalipisteen edellä oleva nolla).
Paljonko ovat seuraavat?
ok_text Oikein!
only_no_yes_on f_nodes 1 log 100000 =
`log 100000 =`
tai
ok_text Oikein!
only_no_yes_on f_nodes 1 log 10 =
`log 10 =`
tai
ok_text Oikein!
only_no_yes_on f_nodes 2 log 0.001 =
`log 0.001 =`
tai
Jos `x >= 1`, niin `x`:n numeroiden määrä ilman etunollia ja
desimaaliosaa voidaan ilmaista `log x`:n avulla.
Kirjoita kaavana!
Alaspäin pyöristys lähimpään kokonaislukuun saadaan MathCheckissä
floor() ja ylöspäin ceil() .
ok_text Oikein!
hide_expr f_nodes 5 |_log x_|+1 =
`x`:n numeroiden määrä =
tai
Luvun 10-kantainen logaritmi pyöristettynä alaspäin lähimpään kokonaislukuun
saadaan helpolla päässälaskulla edellä olevan kaavan avulla.
Periaate yleistyy myös ykköstä pienempiin lukuihin.
Laske seuraavat.
only_no_yes_on ok_text Oikein!
f_nodes 1 |_ log 2019 _| =
`|__ log 2019 __| =`
tai
only_no_yes_on ok_text Oikein!
f_nodes 2 |_ log 0.00623 _| =
`|__ log 0.00623 __| =`
tai
Logaritmit muuttavat kertolaskun yhteenlaskuksi tällä tavalla:
`log_b xy = log_b x + log_b y`
`log 3.14159` on likimain 0.4971.
Laske seuraavat päässäsi.
Ilmaise vastaus likiarvona siten, että desimaalipisteen jälkeen on tasan neljä
desimaalia.
ok_text Oikein!
only_no_yes_on hide_expr f_nodes 1
/*Vihje: 31.4159 = 10 · 3.14159*/
1.4971 =
`log 31.4159 ~~`
tai
ok_text Oikein!
/*Vihje: 314.159 = 100 · 3.14159*/
only_no_yes_on hide_expr f_nodes 1 2.4971 =
`log 314.159 ~~`
tai
ok_text Oikein!
/*Vihje: 3141.59 = 1000 · 3.14159*/
only_no_yes_on hide_expr f_nodes 1 3.4971 =
`log 3141.59 ~~`
tai
ok_text Oikein!
/*Vihje: 0.314159 = 0.1 · 3.14159*/
only_no_yes_on hide_expr f_nodes 2 -0.5029 =
`log 0.314159 ~~`
tai
ok_text Oikein!
/*Vihje: 0.0314159 = 0.01 · 3.14159*/
only_no_yes_on hide_expr f_nodes 2 -1.5029 =
`log 0.0314159 ~~`
tai
`log_2 250` on likimain 7.97.
Laske seuraavat päässäsi.
Ilmaise vastaus likiarvona siten, että desimaalipisteen jälkeen on tasan kaksi
desimaalia.
ok_text Oikein!
only_no_yes_on hide_expr f_nodes 1
/*Vihje: 1000 = 2 · 2 · 250*/
9.97 =
`log_2 1000 ~~`
tai
ok_text Oikein!
/*Vihje: `125 = 250/2`*/
only_no_yes_on hide_expr f_nodes 1 6.97 =
`log_2 125 ~~`
tai
Nyt johdamme edellä olleen kaavan tapauksessa `b = 10`.
Olkoot `x` ja `y` positiivisia.
Soveltamalla 10-kantaisen logaritmin määritelmää saamme `10^(log xy) =`
ok_text Oikein!
f_nodes 3 assume x > 0 /\ y > 0;
10^(log x y) =
.
tai
Soveltamalla määritelmää uudelleen, tällä kertaa `x`:ään erikseen ja `y`:hyn
erikseen, saamme (laita `x`:n osuus vasemmalle ja `y`:n oikealle)
ok_text Oikein!
hide_expr f_top_opr ^ f_nodes 4 assume x > 0 /\ y > 0;
10^(log x) =
`xy =` ·
end_of_answer ok_text Oikein!
arithmetic hide_expr f_top_opr ^ f_nodes 4 assume x > 0 /\ y > 0;
10^(log y) =
.
tai
Potenssilaskuopista muistamme kaavan, jota voi soveltaa lausekkeisiin muotoa
`a^b a^c`.
Sillä saamme jatkettua muotoon
= ok_text Oikein!
hide_expr f_nodes 7 assume x > 0 /\ y > 0;
10^(log x) * 10^(log y)=
.
tai
Todistimme juuri, että `10^(log x y) = 10^(log x + log y)`.
Jos yhtäsuurille tehdään sama asia, niin saadaan yhtäsuuret lopputulokset.
Ottamalla tämän kaavan molemmilta puolilta 10-kantainen logaritmi saadaan
`log 10^(log x y) = log 10^(log x + log y)`
Lähellä tämän tehtävän alkua olleella kaavalla tästä saadaan
ok_text Oikein!
hide_expr f_top_opr log f_nodes 4
assume x > 0 /\ y > 0; log x y=
=
end_of_answer arithmetic
hide_expr f_top_opr + f_nodes 5
assume x > 0 /\ y > 0; log x + log y=
.
tai
Sama päättely toimii muillekin ykköstä suuremmille kantaluvuille kuin 10.
Siksi, jos `x > 0`, `y > 0` ja `b > 1`, niin `log_b x y``=``log_b x +
log_b y`.
Seuraava tärkeä kaava on
`log_b x^y = y log_b x`
Kun `y` on positiivinen kokonaisluku, tämä saadaan helposti seuraavasti:
`log_b x^n`
`=``log_b x x cdots x`
`=``log_b x + log_b x + ... + log_b x`
`=``n log_b x` ,
missä kumpikin toisto tapahtuu `n` kertaa.
Tämä päättely kannattaa muistaa, sillä sen avulla kaava on helppo palauttaa
mieleen.
Tämä päättely ei kuitenkaan ole yleisessä tapauksessa pätevä.
Siksi — voi ei! — johdamme kaavan yleisessä tapauksessa `x > 0` ja `y
> 0`, mutta (turhan kirjoittamisen vähentämiseksi) vain 10-kantaiselle
logaritmille `log` (siis `b=10`).
Muistathan, että tällä kurssilla tavoitteena on oppia päättelytaitoa.
Ota vaikka kuppi kahvia tai lasi appelsiinimehua ennen kuin jatkat.
Jos kerta kaikkiaan tuntuu mahdottomalta, niin hyppää seuraavaan vaakaviivaan.
Todistamme ensin, että `10^(log x^y)``=``10^(y log x)`.
Soveltamalla 10-kantaisen logaritmin määritelmää saamme
`10^(log x^y) =`
ok_text Oikein!
f_nodes 3 assume x > 0 /\ y > 0;
10^(log x^y) =
.
tai
Johda alla olevassa ikkunassa `10^(y log x) = x^y`.
Sovella ensin kertolaskun vaihdannaisuutta eli `ab = ba`, sitten jotain
potenssilaskukaavaa ja lopuksi logaritmin määritelmää.
ok_text Oikein!
f_nodes 3 assume x > 0 /\ y > 0;
10^(y log x)
=
=
= .
tai
Saimme todistettua `10^(log x^y)``=``x^y``=``10^(y log x)`.
Ottamalla molemmilta reunoilta 10-kantainen logaritmi saadaan
ok_text Oikein!
f_nodes 4 assume x > 0 /\ y > 0; hide_expr log x^y =
=
end_of_answer arithmetic
f_nodes 4 assume x > 0 /\ y > 0; hide_expr y log x =
.
tai
Tämä päättely toimii muillekin ykköstä suuremmille kantaluvuille `b` kuin
10.
Toinen hyvin paljon käytetty logaritmi on luonnollinen logaritmi .
Sitä merkitään monin paikoin (MathCheck mukaan lukien) ln , mutta
valitettavasti mm. monet ohjelmointikielet käyttävät sille merkintää
log , joka meille tarkoittaa 10-kantaista.
Sekaannuksen vaara on siis ilmeinen ja on parasta aina tarkastaa, mitä `log`
kulloinkin tarkoittaa, eikä luottaa siihen, että se on aina 10-kantainen.
Luonnollisen logaritmin kantalukua merkitään `e`.
Sen arvo on likimain 2.71828.
Siis `ln x = log_e x`.
Kun käytetään `b`-kantaista logaritmia, monessa kaavassa esiintyy `ln b`.
Esimerkiksi funktion `log_b x` derivaatta on `1/((ln b)x)`.
Logaritmin määritelmästä seuraa, että `log_b b = 1` (koska 1 on se
luku `x`, jolle `b^x = b`), joten `ln e = log_e e = 1`.
Siksi `d/dx ln x = 1/x`.
Luonnollisella logaritmilla `ln b` voidaan siis korvata ykkösellä tai jättää
tarpeettomana kokonaan pois, jolloin kaavoista tulee yksinkertaisempia kuin
muilla logaritmeilla.
Siksi tätä logaritmia kutsutaan luonnolliseksi.
Luvulla `e` on myös muita hauskoja ominaisuuksia.
Jos intoa riittää, voit tutustua niihin Wikipediasta tai oppikirjoista, tai kysellä kavereilta.
Usein on hyödyllistä kyetä muuntamaan muu logaritmi luonnolliseksi.
Se onnistuu kaavalla `log_b x = (ln x)/ln b` .
Muunna seuraavat luonnollisiksi logaritmeiksi:
ok_text Oikein!
hide_expr f_nodes 5 (ln x)/ln 2 =
`log_2 x =`
tai
ok_text Oikein!
hide_expr f_nodes 5 (ln c)/ln 6 =
`log_6 c =`
tai
ok_text Oikein!
f_nodes 7 f_top_opr / log(a+b) =
`log(a+b) =`
tai
Tämä kaava on helppo johtaa.
Nytkin johdamme sen vain 10-kantaiselle logaritmille.
Ensin korvaa `x` lausekkeella `10^(log x)`.
Sitten sovella sopivaa edellä ollutta kaavaa.
Jos tarvitset kertolaskua, niin käytä * .
ok_text Oikein!
f_nodes 5 f_top_opr * assume x > 0 /\ y > 0;
ln x
=
=
tai
Jos sait tämän oikein, saadaan tavoiteltu kaava `b`:n arvolla 10 jakamalla
molemmat puolet lausekkeella
only_no_yes_on ok_text Oikein!
hide_expr f_nodes 2 ln 10 =
.
tai
Tämä riittäköön tällä kertaa.