《更好的解釋(數學篇)》 第八章

2022-02-02 10:38:24 字數 4145 閱讀 5822

前乙個章節我們在理解指數函式;接下來我們的目標是自然對數。

數學中給定的自然對數的定義,其中有著「自然」的一部分:它被定義為ex 的反函式。雖然ex 本身就夠奇怪了。

但是還有一種新鮮的,更加直觀的解釋:自然對數告訴你增長到一定值需要花費多少時間。

假設你投資了干貝熊軟糖(誰沒有啊?),其中利潤率為100%,連續增長。如果你想獲得十倍的收入,假設它是按照複利計算的,那麼你只需要ln(10)也就是2.302年就可以達到這一目標。不明白為什麼這麼多年就可以得到10倍的回報?再讀一讀前一章吧。

e跟自然對數是雙胞胎:

這個結果不錯吧?當數學家們用冗長的,技巧化的解釋讓你困惑的時候,還是讓我們繼續深入到這個直觀化的解釋中去吧。

數字e是關於連續增長的。正如我們之前所了解到的,ex 讓我們把時間與增長率結合起來:連續復合增長的情況下,100%的增長率經過三年跟300%的增長率經過一年的效果一樣。

我們可以使用任何時間與增長率的組合(50%的增長率增長4年),而且可以轉化為更舒服的100%的增長率(100%的增長率增長兩年就可以了)。把增長率轉化為100%後,我們只需要考慮時間就可以了:

ex =e增長率‧時間 =e1‧時間 =e時間

直觀化的看的話,ex 就是:

ex 就是乙個比例係數,它告訴我們經過x單位時間後東西可以增長到多少。

自然對數正好與e相反,一種非常好的形式。說到非常好,ln就是拉丁文logarithmus naturali的縮寫。

現在讓我們來看看相反意味著什麼?

舉例如下:

通過我?自然對數告訴我們增長到一定值需要花費多長時間。

你之前學過對數,它們確實很奇怪。它們怎麼會把乘法變為加法?除法變為減法呢?讓我來仔細看看。

ln(1)等於多少呢?直觀看來,這個問題就是:我花多長時間能增長到1倍大小呢?

0。你現在已經是1倍大小了!從1增長到1並不需要花任何時間。

ln(1)=0

ok,如果是乙個分數呢?如何增長到現在的1/2呢?假設你的連續增長率是100%,我們知道ln(2)就是增長兩倍所需要花費的時間。如果我們把這個過程反過來(比如說取負時間),我們就得到了一半的值。

ln(0.5)=-ln(2)=-0.693

明白了吧?如果我們往回看(負時間)0.693秒,我們就得到了現在一半的值。一般來說,你可以把分數翻轉然後取負即可:ln(1/3)=-ln(3)=-1.09。這就是說如果時間往回1.09個單位,我們就得到了現在值的1/3。

ok,如果是乙個負數的自然對數呢?細菌從1增長到-3需要花費多長時間呢?

這是不可能的!你能有「負數」個細菌嗎,不能吧?你最多(最少)也就是有0個細菌,但是你沒辦法擁有負數個細菌吧。負數個細菌沒有任何意義

ln(負數)=無定義

無定義意味著「沒有乙個時間供你等待」其增長到負數(在尤拉公式中我們還將討論這一問題)。

花多長時間可以增長到現有值的四倍呢?沒問題,我們只需要計算ln(4)就可以了。但是這太簡單了,讓我們增加點難度。

我們可以把4倍看作是翻倍一次(花費ln(2)的時間一次),然後再翻倍一次(再花費ln(2)的時間一次):

增長到四倍所需要的時間=ln(4)=兩次翻倍所用的時間=ln(2)+ln(2)

有意思吧。任何增長值,比如說20,可以看作是翻倍一次然後再十倍一次,也可以看作是4倍一次再五倍一次。或者是3倍一次,然後再6.66666倍一次。看到其中的規律了嗎?

ln(a‧b)=ln(a)+ln(b)

a乘以b的對數=log(a)+log(b)。當你把它們當作增長需要的時間後就很容易想通了。

如果我們想增長到30倍,我們可以直接等ln(30)長的時間,也可以先等ln(3)長的時間讓它增長到3倍,然後再等ln(10),再讓它增長十倍。最終效果是一樣的,所以最終花費的時間也是一樣的(事實確實如此)。

那麼除法呢?ln(5/3)就是說:增長到5倍,然後只取其中的三分之一需要花費多長時間呢?

好吧,增長到5倍需要花費的時間是ln(5)。增長1/3花費的時間就是-ln(3)。那麼結果就是:

ln(5/3)=ln(5)-ln(3)

這就是說:增長5倍所用的時間,然後時間再往回退,知道達到1/3的增長,最後你還有5/3的增長。更一般化的表述就是:

ln(a/b)=ln(a)-ln(b)

我希望現在你能理解奇怪的對數運算:乘法就是把時間相加,除法就是把時間減去。不要去背誦規則,而是要理解它們。

「是的,」你可以說,「這些關於對數的東西對100%的增長率適用,對50%的增長率呢?」

完全沒有問題。我們在ln()中使用的「時間」其實是時間與增長率的組合,x來自於我們的ex 方程。我們假設為100%只是為了簡單,但是其實我們可以使用其他數字。

假設我們希望達到30倍的增長:帶入方程中就是ln(30),結果是3.4。這就是說:

ex =增長

e3.4 =30

直觀化的看這個方程是以100%的增長來考慮的。

但是我們也可以這樣看這個方程:

ex =e增長率‧時間

e100%‧3.4年 =30

我們可以修改「時間」與「增長率」,就以時間×增長率=3.4為例,我們可以有:

很酷吧?自然對數可以適用於任何增長率與時間,只要它們的乘積相同。你可以隨意調整這些變數。

72法則(是一種快捷的心演算法來幫助你計算花多少時間可以讓你的錢翻倍。我們將把它衍生一下,甚至讓它更好,我們以一種更直觀化的角度來理解它。

在100%的增長率下按年進行復合增長,需要花多長時間可以讓你的錢翻倍呢?

哦,之前我們的討論一直是侷限在連續的增長,現在你要讓我計算年利?這不會讓我們的公式變得更麻煩嗎?對,確實會這樣,但是但是在一些利率下,比如 說5%,6%甚至是15%,年利與連續利息其實並沒有太大不同。所以乙個大概的公式就可以了,在一種粗略的情況下我們把它們當作完整的連續增長就可以了。

現在問題就很簡單了:在100%的增長率時我們需要花多長時間才可以翻倍?ln(2)=0.693。大概就是0.693個單位時間(在這裡是一年)吧就可以讓你的錢翻倍了。

ok,如果我們的增長率不是100%而是5%或10%呢?

很簡單。只要時間×增長率=0.693,我們的錢就會翻倍:

那麼,如果我們只有10%的增長率,只需要計算0.693/10%也就是6.93年就可以讓我們的錢翻倍。

為了做一些簡化,讓我們乘以100,這樣就可以避免0.1而可以討論10了

翻倍所用時間=69.3/增長率,這裡假設增長率用百分數表示

那麼5%的增長率下,翻倍所用的時間就是69.3/5也就是13.86年了。然而69.3並不容易進行除法。讓我們就選擇乙個與它很接近的數來代替,比如說可以被2,3,4,6,8等整除的72吧。

翻倍所用的時間=72/增長率

這就是72法則!很簡單吧。

如果你想知道花多少時間能讓你增長到3倍,你只需用ln(3)約等於109.8,這樣你就可以得到:

增長三倍所用的時間=110/增長率

這又是乙個很有用的法則。72法則在利率計算,人口計算,細菌培養以及其他涉及到指數增長的方面都有很廣泛的用處。

我希望自然對數能有更多意義——它告訴指數增長增長到任一確定的值所需要的時間。我認為正是因為它是指數增長的乙個通用數值,所以它才被稱為「自然」,那麼ln就可以幫我們找出需要多少來增長的乙個通用函式了。

當你看到ln(x)時,只要想到「增長到x所要用的時間」就好了。

小謎題:ln(e)等於多少?

直觀化的思考。

本網站無註明「轉載」的著作均由jak wings製作cc by-nc-sa 2.5

creative commons 保持署名-相同方式分享 2.5

第八章 指標 第八章 指標

1 什麼是位址 include using namespace std int main 11 在堆中建立對像 我們既然可以在堆中儲存變數,那麼也就可以儲存對像,我們可以將對像儲存堆中,然後通過指標來訪問它 include using namespace std class human 14 在建構...

第八章(筆記)

能在 中進行記憶體單元的定址的暫存器只有4個,分別是bx si di bp 其中bx bp 是基址,bx對應的段位址是ds,bp對應的段位址是ss si di 是變址,單獨使用時段位址是ds,組合使用段位址是跟隨組合的基址對應的段位址 中進行記憶體單元定址彙總 si di bx bp 常量 si 常...

第八章 字典

d 空字典 d 這就是字典 d dict.fromkeys a b d dict zip keyslist,valslist d dict name bob age 22 建立字典的函式 d name 通過索引key獲取對應的value d.keys 返回d字典物件所有key,返回乙個列表 d.va...