關(guān)于函數(shù)近似的一些想法
本文主體內(nèi)容不需要競(jìng)賽知識(shí),只需要泰勒級(jí)數(shù)及其以下的常規(guī)數(shù)學(xué)知識(shí)即可。
up該學(xué)期在備考少創(chuàng)班。有了解的朋友或許知道,少創(chuàng)往年的物理試題常涉及硬開(kāi)根號(hào)的計(jì)算,數(shù)值也是毫無(wú)取巧之處。而且不同于物理競(jìng)賽,少創(chuàng)禁止使用計(jì)算器。為此,up思考了如何手算(后來(lái)得知計(jì)算結(jié)果占的分值不大,考場(chǎng)上沒(méi)人要去算的)當(dāng)然,Taylor展開(kāi)是我們最熟悉的方法,不過(guò)效率實(shí)在太低。下面主要講講up研究最深的一個(gè)想法。

我們只能直接計(jì)算加減乘除。因此對(duì)于一個(gè)函數(shù)f(x),展開(kāi)成為多項(xiàng)式,便可以使用加減乘計(jì)算。若想另辟蹊徑,很容易想到引入除——分式。
首先將函數(shù)展開(kāi),從簡(jiǎn)單起見(jiàn),只引入一個(gè)一次分式

再展開(kāi)

由于構(gòu)造的函數(shù)引入了n+3個(gè)參數(shù),在最理想的情況下,它能達(dá)到n+2階近似。對(duì)照系數(shù)可列方程組,并且容易求解

再代回函數(shù),就行了

順便寫(xiě)下余項(xiàng)

理論推導(dǎo)就差不多了,現(xiàn)在來(lái)具體試試效果。對(duì)于人工計(jì)算,其實(shí)高于一次都是比較麻煩的了,不妨就設(shè)n=1,以√(1+x)為例算算吧

可以看到,只取前三項(xiàng)的話,精度已經(jīng)比較高了。再具體算個(gè)數(shù)吧

對(duì)比一下√2的精確值:1.414213562373…誤差為1.8×10^-9,和余項(xiàng)1.4÷49^4÷128差不多。相比之下,如果直接利用泰勒展開(kāi)來(lái)計(jì)算,達(dá)到這個(gè)精度無(wú)疑是困難的。
有時(shí)間的讀者不妨自己試試推導(dǎo)另外幾個(gè)常見(jiàn)函數(shù)在這種方法下的近似式。沒(méi)時(shí)間的話也沒(méi)關(guān)系,up利用語(yǔ)文課的時(shí)間已經(jīng)算好了:

自然,這些式子都是在x接近0時(shí)才能使用。那么,當(dāng)x較大時(shí)怎么辦呢?這其實(shí)也是很簡(jiǎn)單的問(wèn)題啦。針對(duì)不同函數(shù),解決方法不同,也請(qǐng)有興趣的讀者自行思考
此外,有種方法叫Pade逼近,這些式子應(yīng)該都被囊括在這個(gè)方法里。但Pade逼近貌似是用計(jì)算機(jī)硬求導(dǎo)算的系數(shù),鑒于我們這里考慮的是純粹的手算方法,就不提了。如果說(shuō)Pade逼近也有一套可以手算系數(shù)的方法的話,歡迎大家指出

好,下面進(jìn)入二階段。
如果想進(jìn)一步增強(qiáng)近似程度,很容易想到引入兩個(gè)一次分式或者一個(gè)二次分式。但如之前說(shuō)的,手算二次比較麻煩了,因此這里考慮引入兩個(gè)一次分式。但先概括一下:此時(shí)系數(shù)往往是極其無(wú)理的,并不有利于計(jì)算。只有少數(shù)函數(shù)可以采取這種方法
首先是類似的操作

對(duì)照系數(shù),此時(shí)能達(dá)到n+4階近似了

很明顯,解這個(gè)方程組的突破口在于最后4個(gè)方程。這里就考驗(yàn)大家解方程的基本功了,有興趣的讀者可以先自己試試。下面給出up的過(guò)程

由③④很容易得到一個(gè)關(guān)于t的單變量方程,那么直接硬算下去就行了

對(duì)于三次方程,我們是沒(méi)什么辦法的。不過(guò)你能注意到嗎,這個(gè)方程一定有一個(gè)根:

舍去這個(gè)根后

從而能解出t。對(duì)于d,它自然也滿足這個(gè)方程。也即t,d是這個(gè)方程的互異兩根。(你可能會(huì)問(wèn):為什么不選擇被舍棄的根?這是出于對(duì)稱性考慮的,或者說(shuō)追求數(shù)學(xué)的美感。而且,如果選擇被舍去的根,近似效果會(huì)差些)
解出t,d后,也能輕易求出其他所有待定系數(shù)。但很明顯,t,d很可能是無(wú)理數(shù),此時(shí)其他系數(shù)將復(fù)雜無(wú)比。出于我們便于計(jì)算的目的,現(xiàn)在來(lái)考慮什么情況下存在有理解。
我們考慮常見(jiàn)的函數(shù),即泰勒展開(kāi)后的系數(shù)均為有理數(shù)。那么存在有理解就等價(jià)于Δ是平方數(shù)(這里的平方數(shù)包含有理數(shù)的平方)

接下來(lái)考慮具體的函數(shù)。又以√(1+x)為例吧

可以看到,通過(guò)上面的變形,規(guī)避了復(fù)雜的階乘運(yùn)算與通分,讀者可以自行感受一下按照原始判別式的計(jì)算量。
我們最后得到了式子5(n+3)(2n+3),我們暫且叫這種最簡(jiǎn)單的式子為“決定式”吧。只要決定式得到的為平方數(shù),那么就能找到有理解了。至于決定式什么時(shí)候能得到平方數(shù),經(jīng)過(guò)分析后可以歸結(jié)為數(shù)論中的雙曲型方程(即pell方程的一般形式),up不擅長(zhǎng)數(shù)論,不會(huì)解雙曲型方程qwq
不過(guò)可以試驗(yàn),當(dāng)n=1,12,61…時(shí),決定式都為平方數(shù)。但n不能太大,例如n=12,就要先寫(xiě)出12次的多項(xiàng)式,顯然不符合便于計(jì)算的要求。因此我們只能取n=1。再來(lái)算算式子吧

又來(lái)算算√2

誤差為4.7×10^-14,相當(dāng)精確了。

其他函數(shù)的決定式怎樣呢?up也算了一些↓
e^x:-(n+3),顯然無(wú)解
ln(1+x):2(n+2)(n+3),第一個(gè)解出現(xiàn)在n=6,太大不適合計(jì)算
3√(1+x):7(n+3)(3n+5),數(shù)論分析知無(wú)解
arctanx:2(2n+5)(2n+7),模4知無(wú)解
sinx:有點(diǎn)復(fù)雜,大家自己算算吧(逃)

可以看到這個(gè)方法適用范圍很窄。不過(guò)我們還能順便拿來(lái)編編題,例如:


不知道怎么寫(xiě)結(jié)語(yǔ),那就祝讀到這里的朋友長(zhǎng)生不老A.A