本人是第一次在知乎上寫文章,並且本人是高一學生,文章中可能會有一些錯誤的觀點,還請大傢多多包涵,謝謝。


這裡我先把結果展示給大傢看:

在估算lnx的值時可使用以下式子:

其中[x]表示取整函數。

有興趣看推導過程的,且聽我慢慢道來。

1.起因

自從我學瞭對數之後,作業上時不時會出現一些有關對數和指數的比大小問題,雖然用函數就能簡簡單單地解決問題,但我每次做這些題目時,都不禁會想到高考試卷上的比大小問題,每次想到都覺得瘆人。

所以我要找到估算指數函數值與對數函數值的方法。為此我用瞭不知多長時間,隻知道這些時間是我在高中繁忙的學習生活中抽出來的,把與泰勒展開,級數有關的知識都學瞭一下。從中我瞭解到:lnx的泰勒展開僅在x∈(0,2]時適用,而如果用帕德近似,雖然它好用,但當x>1時,如果x越大,用帕德近似估算出來的值會與實際值的誤差會越大。

難道就沒有估算lnx值的更好方法嗎?

2.發現

直到某一天,我刷視頻時看到瞭這樣一個式子:

其中x∈(-∞,-1)∪[1,+∞)。

這個式子有一個特點,就是收斂速度特別快。就拿ln2來說,如果用泰勒展開,算到第10項時也隻是把ln2精確到小數點後1位而已,如果用的是上面的級數展開式,令x=1,就可以把ln2精確到小數點後10位!看到這我內心一陣狂喜:這個式子必定大有用處。

3.探索

剛開始研究時,我遇到瞭一個嚴重的問題。

范圍。

因為這個展開式是由ln(1+x)的泰勒展開衍生出來的,因此(x+1)/x的范圍是(0,2],而我要找的lnx的級數展開式是對任意x>0都適用的。

怎麼辦?

經過瞭幾天幾夜的思考,我終於有瞭一個簡單粗暴的想法。

讓x除以一個式子,使得到的商始終在(0,2]之間。

於是

雖然沒什麼問題,但由於k是與x有關的式子,lnk這一項無疑是畫蛇添足。

那就……那就令k=a^b,其中a是常數,b是與x有關的式子,問題不就解決瞭嗎。

令x/(a^b)=(n+1)/n,解得n=(a^b)/(x-a^b),然後把n代入ln[(n+1)/n]的級數展開式中,可得

其中0<x≤2a^b。

現在,我們離終點隻差一步瞭。

因為當你用這個式子來估算lnx的值時,你還要根據x的值,來選取a,b的值以滿足x的范圍,很麻煩,因此這個式子還需要調整。

從理論上來說,隻要讓x小於等於2a^b,上面的式子都成立,比如讓a^b=2^x。但是在實際應用中,你會發現因為2^x的增長率比一次函數和對數函數快很多,所以x遠遠小於2^x,剛算瞭幾項你會發現得到的數比lnx的值小很多,你得算很多項才能讓這個級數展開式得到的值慢慢逼近lnx的值,大傢用計算器試試就知道瞭。(其實是我想不到怎麼用嚴謹的說法來說明以上的情況罷瞭)

那我們令a=2,b先不動,為瞭不出現上面的情況,就要讓2^b≤x≤2*2^b,即

一個數介於b和(b+1)之間……這讓我聯想到瞭取整函數,那就令

整理一下就可以得到開頭的式子。

剛出爐的式子還熱乎著,現在就實戰一下,比如計算ln5的值。

因為2^2<5<2^3,所以

ln2取0.69315,代入下面的式子

可得ln5≈1.60852

如果用帕德近似估算,

用上面的式子計算可得ln5≈1.56522

而實際上,ln5≈1.60944

看到威力瞭吧?而且這個式子對任意x>0都適用。


4.結語

我不知道這個結果是否已經存在,但這確確實實是我自己發現。

自從得到瞭這個成果,我一直在想要不要把它發佈出來,就算發佈出來,得到瞭一部分人的認可,肯定有人會勸我不要搞這些亂七八糟的東西,我甚至可能會遇到一些未知的麻煩。但是求知畢竟是所有智慧生物的本能,當然,像我這樣的年紀,不該知道的就不要刨根問底瞭。作為一名數學愛好者,這篇文章展現瞭我從好奇,到探索,再到得到結果的整個過程。並且我得到瞭這個成果,我當然有權利發佈出來。

上瞭高中之後,學習壓力倍增。很少人能像我這樣抽出時間來幹這些“閑事”,所以這個結果真的是來之不易。希望大傢能理解一位高中生的辛苦,還請各位多多轉發,傳閱,讓更多人看到這篇文章,這就是對我的最大支持!謝謝大傢!