您的位置:首页 > 其它

平方和的几何解释

2015-09-24 16:57 183 查看

平方和的几何解释

高斯小时候被老师问到1+2+⋯+99+100的和,聪明机智的高斯几乎脱口而出5050。在我们现在看来其实很简单,也就是一个等差数列的求和公式而已:

∑i=1ni=n(n+1)2 一般地,如果等差数列{ai}的公差为d,则:∑i=1nai=n(n+1)d2

在数学中,我们经常会用到平方和的公式,但是,平方和的公式不是并非如等差数列的求和公式那般直观。因此,若想对平方和公式有更加深入的理解,几何解释是个不错的选择。

∑i=1ni2=13n(n+1)(n+12)

不失一般性,我们选取n=4来对平方和公式作几何解释。如下左图所示,我们将每个平方项表示成一些方块,然后我们将左图中的方块在右图中展开:



细心观察图1和图2的联系,我们看到图2中间部分就是图1的那些方块,因此方块数就是12+22+⋯+n2个,不仅如此,我们细心地分别看图2的左右两部分,可以明显地看出,两边的方块数都是12+22+⋯+n2个。又,图二总的方块数为(2n+1)×(1+2+⋯+n),聪明的高斯又告诉我们:(1+2+⋯+n)=n(n+1)2

所以,综合上面的式子,我们有:

3∑i=1ni2=(2n+1)×(1+2+⋯+n)=(2n+1)n(n+1)2=(n+12)(n+1)n

即:

∑i=1ni2=13n(n+1)(n+12)

得证。现在,我们只要能记得上述二图, 就再也不会忘记平方和公式了。

:更多平方和的几何解释,详见:正整数的平方和公式是什么?怎么证明?

:python图代码

import matplotlib.pyplot as plt
import matplotlib.colors as mcolors
from numpy.random import rand
import numpy as np

C = np.zeros([4,4])
fig2 = plt.figure()
for i in range(4):
for j in range(i+1):
C[i,j] = C[j,i] = 0.1 * (i+1)
# C[0,0] = 0.1
# C[1,0] = C[0,1] = C[1,1] = 0.2
# C[2,0] = C[0,2] = C[1,2] = C[2,1] = C[2,2] = 0.3
# C[3,0] = C[0,3] = C[1,3] = C[3,1] = C[3,2] = C[2,3] = C[3,3] = 0.4
for i in range(1,1+4):
plt.subplot(2,2,i)
plt.pcolor(C[:i,:i],norm=mcolors.NoNorm(),cmap='terrain',edgecolors='k',linewidths=0.3)
plt.axis([0,4,0,4])
plt.show()

n = 4
block_rows = n
now_row = 0
A = np.zeros([n*(n+1)/2, 2*n+1])
for i in range(n): # i遍历n个blocks
for block_row in range(block_rows): # block_row遍历一个block的所有行
for k in range(2*n+1): # k遍历一行的所有单元格
if k in range(n-i,n+i+1):
A[now_row,k] = 0.1*(i+1)
else:
A[now_row,k] = 0.8+0.05*(i+1)
now_row += 1
block_rows -= 1

plt.pcolor(A,norm=mcolors.NoNorm(),cmap='terrain',edgecolors='k',linewidths=0.3)
plt.show()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  math