8
1 Potensar, røter og logaritmar
Ser litt på korleis ein kan rekne ut potensar, røter og logaritmar i Python.
1.1 Potensar
Potensar kan ein rekne ut med **
-operatoren. For eksempel er \(2^3\) i python 2**3
.
Dette gjeld og for negative eksponentar, til dømes \(2^{-3}\)
Og for eksponentar som er brøk (eller desimaltal), til dømes \(100^{1/2}\)
1.2 Røter
Ved å bruka potensar kan ein og rekne ut røter. Til dømes er \(\sqrt{100}\) det same som \(100^{1/2}\). Meir generelt veit me at
\[x^{\frac{a}{n}} = \sqrt[n]{x^a}\]
Dermed kan me rekna ut til dømes \(\sqrt[3]{1000}\) som 1000**(1/3)
Her ser me at **
-operatoren ikkje reknar heilt rett. Svaret er 10, men Python gir oss 9.999999999999998. Dette er fordi Python ikkje klarar å representere alle desimaltal heilt nøyaktig.
For å unngå dette kan me bruka rot-funksjonar frå numpy
-biblioteket. Då får me heilt nøyaktige svar. np.sqrt()
reknar ut kvadratrøter og np.cbrt()
reknar ut kubikkrøter.
1.3 Logaritmar
Logaritmar kan ein rekne ut med np.log()
-funksjonen. For eksempel er \(\log_{10}(100)\) lik np.log10(100)
.
Medan np.log()
reknar ut naturlige logaritmar, altså logaritmar med grunntal \(e\).
Som vil seie at \(e^{4.60517} \approx 100\).
⬆️ Her ser me også at \(e^x\) kan skrivast som np.exp(x)
.
1.4 Røter og logaritmar - arrays
I numpy treng ikkje input til desse funksjonane vera eit enkelt tal. Det kan og vera ein array/liste. Då vil funksjonen rekna ut røter og logaritmar for kvart element i arrayen/lista. Det kan vera praktisk om me skal rekna ut mange tal samtidig.
⬆️ Legg merke til korleis me kan skriva tal på standardform her (1e6
er det same som \(10^6\)).