轉載-怎樣更好地理解並記憶泰勒展開式? -开发者知识库

轉載-怎樣更好地理解並記憶泰勒展開式? -开发者知识库,第1张

聲明:本文相關所有內容完全來自於退乎-回答-怎樣更好地理解並記憶泰勒展開式?

原文中前一小部分不再描述,直接從文章的核心思想處說起;


本段的核心思想是仿造

當我們想要仿造一個東西的時候,無形之中都會按照上文提到的思路,即先保證大體上相似,再保證局部相似,再保證細節相似,再保證更細微的地方相似……不斷地細化下去,無窮次細化以后,仿造的東西將無限接近真品。真假難辨。

這是每個人都明白的生活經驗。


一位物理學家,把這則生活經驗應用到他自己的研究中,則會出現下列場景:

一輛隨意行駛的小車,走出了一個很詭異的軌跡曲線:

轉載-怎樣更好地理解並記憶泰勒展開式? -开发者知识库,第2张

物理學家覺得這段軌跡很有意思,也想開車走一段一摸一樣的軌跡。

既然是復制,他把剛才關於“仿造”生活經驗應用到這里,提出了一個解決辦法:

既然想模仿剛才那輛車,

那首先應該保證初始位置一樣,

繼續模仿,讓車在初始位置的速度也一樣,

不滿足,繼續細化,這次保持位置、在初始位置處的速度一樣的同時,保證在初始位置處車的加速度也一樣,

不滿足,繼續細化,這次保證初始位置、初始位置處的速度、初始位置處的加速度都一樣,也保證初始位置處的加速度的變化率也一樣,

不滿足,精益求精,可以一直模仿下去。

物理學家得出結論:把生活中關於“仿造”的經驗運用到運動學問題中,如果想仿造一段曲線,那么首先應該保證曲線的起始點一樣,其次保證起始點處位移隨時間的變化率一樣(速度相同),再次應該保證前兩者相等的同時關於時間的二階變化率一樣(加速度相同)……如果隨時間每一階變化率(每一階導數)都一樣,那這倆曲線肯定是完全等價的。


一位數學家,泰勒,某天看到一個函數\(y=e^x\) ,不由地眉頭一皺,心里面不斷地犯嘀咕:有些函數啊,他就是很惡心,比如這種,還有三角函數,這樣的函數本來具有很優秀的品質(可以無限次求導,而且求導還很容易),但是呢,如果是代入數值計算的話,就很難了。比如,看到\(y=\cos x\)后,我無法很方便地計算\(x=2\)時候的值。

為了避免這種如鯁在喉的感覺,必須得想一個辦法讓自己避免接觸這類函數,即把這類函數替換掉。

可以根據這類函數的圖像,仿造一個圖像,與原來的圖像相類似,這種行為在數學上叫近似。不扯這個名詞。講講如何仿造圖像。

他聯想到生活中的仿造經驗,聯想到物理學家考慮運動學問題時的經驗,泰勒首先定性地、大概地思考了一下整體思路。(下面這段只需要理解這個大概意思就可以,不用深究。)

面對\(f(x)=\cos x\)的圖像,泰勒的目的是:仿造一段一模一樣的曲線\(g(x)\),從而避免余弦計算。

轉載-怎樣更好地理解並記憶泰勒展開式? -开发者知识库,第3张

想要復制這段曲線,首先得找一個切入點,可以是這條曲線最左端的點,也可以是最右端的點,anyway,可以是這條線上任何一點。他選了最左邊的點。

由於這段曲線過\((0,1)\)這個點,仿造的第一步,就是讓仿造的曲線也過這個點,

完成了仿造的第一步,很粗糙,甚至完全看不出來這倆有什么相似的地方,那就繼續細節化。開始考慮曲線的變化趨勢,即導數,保證在此處的導數相等。

經歷了第二步,現在起始點相同了,整體變化趨勢相近了,可能看起來有那么點意思了。想進一步精確化,應該考慮凹凸性。高中學過:表征圖像的凹凸性的參數為“導數的導數”。所以,下一步就讓二者的導數的導數相等。

起始點相同,增減性相同,凹凸性相同后,仿造的函數更像了。如果再繼續細化下去,應該會無限接近。所以泰勒認為“仿造一段曲線,要先保證起點相同,再保證在此處導數相同,繼續保證在此處的導數的導數相同……

有了整體思路,泰勒准備動手算一算。

下面就是嚴謹的計算了。

先插一句,泰勒知道想仿造一段曲線,應該首先在原來曲線上隨便選一個點開始,但是為了方便計算,泰勒選擇從\((0,1)\)這個點入手。

把剛才的思路翻譯成數學語言,就變成了:

首先得讓其初始值相等,即:\(g(0)=f(0)\)

其次,得讓這倆函數在x=0處的導數相等,即:\(g^{'}(0)=f^{'}(0)\)

再次,得讓這倆函數在x=0處的導數的導數相等,即:\(g^{''}(0)=f^{''}(0)\)

……

最終,得讓這倆圖像在x=0的導數的導數的導數的……的導數也相同。

這時候,泰勒思考了兩個問題:

第一個問題,余弦函數能夠無限次求導,為了讓這兩條曲線無限相似,我仿造出來的\(g(x)\)必須也能夠無限次求導,那\(g(x)\)得是什么樣類型的函數呢?

第二個問題,實際操作過程中,肯定不能無限次求導,只需要求幾次,就可以達到我想要的精度。那么,實際過程中應該求幾次比較合適呢?

綜合考慮這兩個問題以后,泰勒給出了一個比較折中的方法:令\(g(x)\)為多項式,多項式能求幾次導數呢?視情況而定,比如五次多項式 \(g(x)=ax^{5} bx^{4} cx^{3} dx^{2} ex f\)(chenzhen0530注:這一點是不是有問題?) ,能求5次導,繼續求就都是0了,幾次多項式就能求幾次導數。

泰勒比我們厲害的地方僅僅在於他想到了把這種生活經驗、翻譯成數學語言、並運用到仿造函數圖像之中。假如告訴你這種思路,靜下心來你都能自己推出來。

泰勒開始計算,一開始也不清楚到底要求幾階導數。為了發現規律,肯定是從最低次開始。

先算個一階的。

轉載-怎樣更好地理解並記憶泰勒展開式? -开发者知识库,第4张

可以看出,除了在\((0,1)\)這個點,其他的都不重合,不滿意。

再來個二階的。

轉載-怎樣更好地理解並記憶泰勒展開式? -开发者知识库,第5张

可以看出,在\((0,1)\)這個點附近的一個小范圍內,二者都比較相近。

再來個四階的。

轉載-怎樣更好地理解並記憶泰勒展開式? -开发者知识库,第6张

可以看出,仍然是在\((0,1)\)這個點附近的一個范圍內二者很相近。只是,此時二者重合的部分擴大了。

到這里,不光是泰勒,我們普通人也能大概想象得到,如果繼續繼續提高階數,相似范圍繼續擴大,無窮高階后,整個曲線都無限相似。插個圖,利用計算機可以快速實現。

轉載-怎樣更好地理解並記憶泰勒展開式? -开发者知识库,第7张

然而泰勒當時沒有計算機,他只能手算,他跟我們一樣,算到四階就算不動了,他就開始發呆:剛才為什么這么做來着?哦,對了,是為了計算\(cos2\)的時候避免出現余弦。所以他從最左端\((0,1)\)處開始計算,算着算着,他沒耐心了,可是離着計算\(x=2\)還有一段距離,必須得繼續算才能把這倆曲線重合的范圍輻射到\(x=2\)處。

此時,他一拍腦門,恍然大悟,既然我選的點離着我想要的點還遠,我為啥不直接選個近點的點呢,反正能從這條曲線上任何一個點作為切入,開始仿造。近了能省很多計算量啊。想計算\(cos2\),可以從\(cos\frac{\pi}{2}\)處開始仿造啊。

所以啊,泰勒展開式就是把一個三角函數或者指數函數或者其他比較難纏的函數用多項式替換掉。

也就是說,有一個原函數 \(f(x)\),我再造一個圖像與原函數圖像相似的多項式函數\(g(x)\),為了保證相似,我只需要保證這倆函數在某一點的初始值相等,1階導數相等,2階導數相等,……n階導數相等

寫到這里,你已經理解了泰勒展開式。

如果能理解,即使你記不住泰勒展開式,你都能自己推導。所以,我建議你,考試之前臨時死記硬背一下,即使考試因為緊張忘了,也可以現場推。如果不是為了考試,那記不住也沒關系,反正記住了一段時間不用,也會忘。用的時候翻書,找不到書就自己推導。

繼續說泰勒。

泰勒算到四階以后就不想算了,所以他想把這種計算過程推廣到n階,算出一個代數式,這樣直接代數就可以了。泰勒就開始了下面的推導過程。

首先要在曲線\(f(x)\)上任選一個點,為了方便,就選\((0,f(0))\),設仿造的曲線的解析式為\(g(x)\),前面說了,仿造的曲線是一個多項式,假設算到n階。

能求n次導數的多項式,其最高次數肯定也為n。所以,仿造的曲線的解析式肯定是這種形式:
\[ g(x) = a_0 a_1x a_2x^2 \cdots a_nx^n \]
前面說過,必須保證初始點相同,即

\(g(0)=f(0)=a_0\)求出了\(a_0\)

接下來,必須保證n階導數依然相等,即

\(g^{n}(0)=f^{n}(0)\)

因為對\(g(x)\)求n階導數時,只有最后一項為非零值,為\(n!a_{n}\)

由此求出\(a_{n}=\frac{f^{n}(0)}{n!}\)

求出了\(a_n\),剩下的只需要按照這個規律換數字即可。

綜上:
\[ g(x)=g(0) \frac{f^{1}(0)}{1!}x \frac{f^{2}(0)}{2!}x^{2} …… \frac{f^{n}(0)}{n!}x^{n} \]
知道了原理,然后把原理用數學語言描述,只需要兩步即可求出以上結果。背不過推一下就行。

泰勒推到這里,又想起了自己剛才那個問題:不一定非要從x=0的地方開始,也可以從\((x_{0},f(x_{0}))\)開始。此時,只需要將0換成\(x_{0}\),然后再按照上面一模一樣的過程重新來一遍,最后就能得到如下結果:
\[ g(x)=g(x_{0}) \frac{f^{1}(x_{0})}{1!}(x-x_{0}) \frac{f^{2}(x_{0})}{2!}(x-x_{0})^{2} …… \frac{f^{n}(x_{0})}{n!}(x-x_{0})^{n} \]
泰勒寫到這里,長舒一口氣,他寫下結論:

有一條解析式很惡心的曲線\(f(x)\),我可以用多項式仿造一條曲線\(g(x)\),那么:
\[ f(x)\approx g(x)=g(x_{0}) \frac{f^{1}(x_{0})}{1!}(x-x_{0}) \frac{f^{2}(x_{0})}{2!}(x-x_{0})^{2} …… \frac{f^{n}(x_{0})}{n!}(x-x_{0})^{n} \]
泰勒指出:在實際操作過程中,可根據精度要求選擇n值,只要n不是正無窮,那么,一定要保留上式中的約等號。

若想去掉約等號,可寫成下面形式:
\[ f(x) = g(x)=g(x_0)=g(x_0) \dfrac{f^1(x_0)}{1!}(x-x_0) \dfrac{f^2(x_0)}{2!}(x-x_0)^2 \cdots \dfrac{f^n(x_0)}{n!}(x-x_0)^n \cdots \]
好了,泰勒的故事講完了。其實真正的數學推導只需要兩步,困難的是不理解思想。如果背不過,就臨時推導,只需要十幾二十秒。


泰勒的故事講完了,但是事情沒完,因為泰勒沒有告訴你,到底該求導幾次。於是,剩下一幫人幫他擦屁股。

第一個幫他擦屁股的叫佩亞諾。他把上面式子中的省略號中的東西給整出來了。然而最終擱淺了,不太好用。

后面拉格朗日又跳出來幫佩亞諾擦屁股。至此故事大結局。

首先講講佩亞諾的故事。

簡單回顧一下,上文提到,泰勒想通過一個多項式函數\(g(x)\)的曲線,把那些看起來很惡心的函數\(f(x)\)的曲線給仿造出來。提出了泰勒展開式,也就是下面的第一個式子:

轉載-怎樣更好地理解並記憶泰勒展開式? -开发者知识库,第8张

佩亞諾開始思考誤差的事。先不說佩亞諾,假如讓你思考這個問題,你會有一個怎樣的思路?既然是誤差,肯定越小越小對吧。所以當我們思考誤差的時候,很自然的邏輯就是讓這個誤差趨近於0

佩亞諾也是這么想的,他的大方向就是令后面這半部分近似等於0,一旦后半部分很接近0了,那么就可以省去了,只展開到n階就可以了,泰勒展開就可以用了。但是他不知道如何做到。

后來,他又開始琢磨泰勒的整個思路:先保證初始點位置相同,再保證一階導數相同,有點相似了,再保證二階導數相同,更細化了,再保證三階導數相同……突然靈光閃現:泰勒展開是逐步細化的過程,也就是說,每一項都比前面一項更加精細化(更小)。舉個例子,你想把90斤糧食添到100斤,第一次,添了一大把,變成99斤了,第二次,添了一小把,變成99.9斤了,第三次,添了一小撮,變成99.99斤了……每一次抓的糧食,都比前一次抓的少。泰勒展開式里面也是這樣的:

轉載-怎樣更好地理解並記憶泰勒展開式? -开发者知识库,第9张

由此可見,最后一項(n階)是最小的。皮亞諾心想:只要讓總誤差(后面的所有項的總和)比這一項還要小,不就可以把誤差忽略了嗎

現在的任務就是比較大小,比較泰勒展開式中的最后一項、與誤差項的大小,即:

轉載-怎樣更好地理解並記憶泰勒展開式? -开发者知识库,第10张

如何比較大小?高中生都知道,比較大小無非就是作差或者坐商。不能確定的話,一個個試一下。最終,皮亞諾用的坐商。他用誤差項除以泰勒展開中的最小的項,整理后得到:

轉載-怎樣更好地理解並記憶泰勒展開式? -开发者知识库,第11张

紅框內的部分是可以求出具體數字的。佩亞諾寫到這里,偷了個懶,直接令 轉載-怎樣更好地理解並記憶泰勒展開式? -开发者知识库,x,第12张 趨近於 轉載-怎樣更好地理解並記憶泰勒展開式? -开发者知识库,x_{0},第13张 ,這樣,誤差項除以泰勒展開中的最小項不就趨近於0了嗎?誤差項不就趨近於0了嗎

我不知道你們看到這里是什么感覺,可能你覺得佩亞諾好棒,也可能覺得,這不糊弄人嘛。

反正,為了紀念佩亞諾的貢獻,大家把上面的誤差項成為佩亞諾余項。

總結一下佩亞諾的思路:首先,他把泰勒展開式中沒有寫出來的那些項補全,然后,他把這些項之和稱為誤差項,之后,他想把誤差項變為0,考慮到泰勒展開式中的項越來越小,他就讓誤差項除以最后一項,試圖得到0的結果,最后發現,只有當\(x\)趨近於\(x_0\)時,這個商才趨近於0,索性就這樣了。

其實整體思路很簡單,當初學不會,無非是因為數學語言描述這么個思路會讓人很蒙逼。佩亞諾的故事講完了,他本想完善泰勒展開,然而,他的成果只能算\(x\) 趨近於\(x_0\)時的情況。這時候,拉格朗日出場了。

拉格朗日的故事說來話長,從頭說起吧。話說有一天,拉格朗日顯得無聊,思考了一個特別簡單的問題:一輛車,從\(S_1\)處走到\(S_{2}\)處,中間用了時間\(t\),那么這輛車的平均速度就是\(v=\frac{S_{1}-S_{2}}{t}\),假如有那么一個時刻,這輛車的瞬時速度是小於平均速度\(v\)的,那么,肯定有一個時刻,這輛車的速度是大於平均速度\(v\)的,由於車的速度不能突變,從小於\(v\)逐漸變到大於\(v\),肯定有一個瞬間是等於\(v\)的。

就這個問題,我相信在做的大多數,即使小時候沒有聽說過拉格朗日,也一定能想明白這個問題。

拉格朗日的牛逼之處在於,能把生活中的這種小事翻譯成數學語言。他把\(S-t\)圖像畫出來了,高中生都知道,在這個圖像中,斜率表征速度:

轉載-怎樣更好地理解並記憶泰勒展開式? -开发者知识库,第14张

把上面的這個簡單的問題用數學語言描述出來,就是那個被拉格朗日了的定理,簡稱拉格朗日中值定理:有個函數\(S(t)\),如果在一個范圍內連續,可求導,則\(\frac{S(t_{2})-S(t_{1})}{t_{2}-t_{1}}=S^{'}(t^{'})\)

后來啊,拉格朗日的中值定理被柯西看到了,柯西牛逼啊,天生對於算式敏感。柯西認為,縱坐標是橫坐標的函數,那我也可以把橫坐標寫成一個函數啊,於是他提出了柯西中值定理:
\[ \frac{S(t_{2})-S(t_{1})}{T(t_{2})-T(t_{1})}=\frac{S^{'}(t^{'})}{T^{'}(t^{'})} \]
拉格朗日聽說了這事,心里憤憤不平,又覺得很可惜,明明是自己的思路,就差這么一步,就讓柯西撿便宜了,不過柯西確實說的有道理。這件事給拉格朗日留下了很深的心理陰影。

接下來,拉格朗日開始思考泰勒級數的誤差問題,他同佩亞諾一樣,只考慮誤差部分(見前文)。

插一句,各位老鐵,接下來拉格朗日的操作絕壁開掛了,我實在是編不出來他的腦回路

首先,跟佩亞諾一樣,先把誤差項寫出來,並設誤差項為\(R(x)\)

轉載-怎樣更好地理解並記憶泰勒展開式? -开发者知识库,第15张

誤差項\(R(x)\)中每一項都是倆數的乘積,假如是你,你肯定是想兩邊同時除掉一個\((x-x_{0})^{n 1}\),對吧,為了簡單,把\((x-x_{0})^{n 1}\)設為\(T(x)\) :

轉載-怎樣更好地理解並記憶泰勒展開式? -开发者知识库,第16张

所以除過之后,就成了:

\(\dfrac{R(x)}{T(x)}=\dfrac{R(x)-0}{T(x)-0}=\dfrac{R(x)-R(x_0)}{T(x)-T(x_0)}\)

等等,這一串東西看着怎么眼熟?咦?這不是柯西老哥推廣的我的中值定理么?剩下的不就是……:

轉載-怎樣更好地理解並記憶泰勒展開式? -开发者知识库,第17张

紅框中,腦路之清奇、操作之風騷、畫風之詭異、場面之震撼,讓我們不禁感慨,拉格朗到底日了什么,腦海里才會想到柯西

拉格朗日寫到這里卡住了,不知道你們有沒有這種經驗,反正我思考一道數學題的時候,會嘗試着把思路進行到底,直到完全進了死胡同才會否定這種思路。有了前面的腦洞,拉格朗日繼續復制這種思路,想看看能不能繼續往下寫:

先看分子

轉載-怎樣更好地理解並記憶泰勒展開式? -开发者知识库,第18张

再看分母

轉載-怎樣更好地理解並記憶泰勒展開式? -开发者知识库,第19张

好巧合,又可以用一次柯西的中值定理了。

轉載-怎樣更好地理解並記憶泰勒展開式? -开发者知识库,第20张

總之,按照這種方法,可以一直求解下去,最終的結果就是:

\(誤差項=\dfrac{f^{n 1}(\zeta)}{(n 1)!}(x-x_0)^{n 1}\)

至此,拉格朗日把后面無數多的誤差項給整合成了一項,而且比配諾亞更加先進的地方在於,不一定非要讓\(x\)趨近於 \(x_0\),可以在二者之間的任何一個位置\(\zeta\)處展開,及其好用。

本文涵蓋泰勒展開式、佩亞諾余項、拉格朗日中值定理、柯西中值定理、拉格朗日余項。全文完畢。

結束!!!


Reference

作者:退乎

鏈接:https://www.zhihu.com/question/25627482/answer/313088784

來源:知乎

最佳答案:

本文经用户投稿或网站收集转载,如有侵权请联系本站。

发表评论

0条回复