你是否被這樣的問題困擾過?
在小學階段,每個人應(yīng)該都做過這種題,給一串數(shù)字找規(guī)律。
長大以后,如果你參加過一些招聘考試,也應(yīng)該做過這種題,給一串數(shù)字找規(guī)律。
給一串數(shù)字找規(guī)律,這應(yīng)該算是一個經(jīng)久不衰的問題。但是,正如標題所寫,面對這種問題,但凡思考一秒鐘,都對不起你的智商。
一個有點變態(tài)的例子先來看一串數(shù)字:
1,2,3,4
下一個數(shù)字是多少?
不必思考,我直接告訴你答案:不管你填什么數(shù)字,都有規(guī)律!
這可不是隨口一說,而是可以嚴格證明的。
我相信大部分讀者都對嚴格證明不感興趣,所以我把證明過程放到了最后,現(xiàn)在先來看一個有點變態(tài)的例子。
回到上面那一串數(shù)字:
1,2,3,4
下一個數(shù)字是5嗎?
可以是5,但如果是5,那就一點都不變態(tài),所以我在這里選108。
1,2,3,4,108
這有什么規(guī)律?
一些讀者可能會覺得這還是太簡單了,所以我還是讓它更變態(tài)一點比較好,讓再下一個數(shù)字等于-7。
1,2,3,4,108,-7
現(xiàn)在應(yīng)該有點意思了,那么這一串數(shù)字有什么規(guī)律?
各位讀者可以先思考一下。
1,2,3,4,108,-7
這其實是一個數(shù)列,我們通常說的“找規(guī)律”其實就是找出數(shù)列的通項公式。
比如:2,4,8,16,32,……
這個數(shù)列的通項公式就是:
也可以做成表格:
A1 | A2 | A3 | A4 | A5 |
2 | 4 | 8 | 16 | 32 |
數(shù)列的通項公式就像函數(shù)的解析式一樣,只不過數(shù)列的通項公式的自變量只能取離散的數(shù)字,而函數(shù)的解析式的自變量可以連續(xù)取值。
所以函數(shù)的研究方法可以套用到數(shù)列上。
很多函數(shù)的解析式可以用泰勒級數(shù)表示,在這里不需要知道泰勒級數(shù)究竟是什么,只需要知道:
函數(shù)的解析式可以寫成“多項式”的形式。
比如:
套用到數(shù)列上,可以把數(shù)列的通項公式假設(shè)成多項式:
對于這個具體的數(shù)列:
1,2,3,4,108,-7
可以列出一個表格:
x | 1 | 2 | 3 | 4 | 5 | 6 |
y | 1 | 2 | 3 | 4 | 108 | -7 |
根據(jù)這前六項,以及之前寫出的多項式,可以得到一個方程組:
六個獨立方程,六個未知數(shù),解方程組就能求出多項式的系數(shù),寫出這個數(shù)列的通項公式。
文章末尾會談?wù)撨@個方程組的簡單求解方法,在這里我直接給出結(jié)果:
頭條上不能編輯太長的公式,我把一個公式分成兩段,大家湊合著看。
1,2,3,4,108,-7
背后的規(guī)律就是上面那個通項公式。
談一談線性代數(shù)現(xiàn)在也該說一說證明過程了,怎么確保列出的方程組一定有解?
有人可能會問:
如果列出的方程組根本就沒有解,那不就找不到規(guī)律了?
可以用線性代數(shù)看待這個問題,把上文列出的方程組寫成矩陣的形式:
如果方程組有解,那么系數(shù)矩陣就有逆矩陣。系數(shù)矩陣也就是這個矩陣:
大家應(yīng)該可以發(fā)現(xiàn),不管是怎樣的一串數(shù)字,列出的系數(shù)矩陣都是一個結(jié)構(gòu)。這種矩陣有專門的名字:范德蒙矩陣。
學過線性代數(shù)的讀者應(yīng)該知道,一個矩陣有逆矩陣的條件是:行列式不為零。
范德蒙矩陣的行列式就是范德蒙行列式,范德蒙行列式有簡單的計算方法,一般的范德蒙行列式是:
如果用det表示行列式,范德蒙行列式的計算方法是:
上文中的那個具體的系數(shù)矩陣,對應(yīng)到上面的公式里就是:
x1 | x2 | x3 | x4 | x5 | x6 |
1 | 2 | 3 | 4 | 5 | 6 |
大家應(yīng)該很容易看出來,不管用一串數(shù)字列出多少個方程,上文提到的系數(shù)矩陣的行列式一定不為零,所以方程組一定有解。
談一談Excel不知道有沒有讀者試過求解上文中的方程組,用人腦解那種方程組確實不容易,而且很容易算錯。
把繁瑣的計算交給電腦,才是明智的選擇。
用X表示系數(shù)矩陣,a表示多項式系數(shù)組成的向量,y表示所給數(shù)字組成的向量,上面這個方程組可以簡寫成:
只需要求出系數(shù)矩陣的逆矩陣,在與所給數(shù)字組成的向量相乘,就解出了多項式的系數(shù):
可以用Excel快速求出一個矩陣的逆矩陣,首先需要把矩陣輸入Excel:
再選中一個與輸入的矩陣的行數(shù)、列數(shù)都相同的區(qū)域:
插入下圖中的函數(shù):
選中輸入的矩陣:
再按“ctrl+shift+enter”鍵,就能得到逆矩陣:
上圖中的逆矩陣元素是用小數(shù)表達的,如果想看得更直觀,可以把“單元格格式”設(shè)置成“分數(shù)”:
再輸入所給數(shù)字組成的向量,選中與向量相同列數(shù)的區(qū)域:
插入下圖中的函數(shù):
選中矩陣與向量:
再按“ctrl+shift+enter”鍵,就能得到多項式系數(shù)組成的向量:
如果想看得更直觀,可以把“單元格格式”設(shè)置成“分數(shù)”:
我相信大家已經(jīng)理解,給一串數(shù)字找規(guī)律,但凡思考一秒鐘,都對不起你的智商。
正是因為隨便填幾個數(shù),都有規(guī)律。導致給一串數(shù)字找規(guī)律,往往毫無意義。