关于n次幂函数求和的一些看法

文章讨论了如何通过数学公式和递推关系简化计算过程,特别是提及Gauss解决1到100求和问题的方法,并扩展到变量n的情况。通过建立矩阵和使用组合数,作者提出了证明和计算高次幂的方法,并建议使用MATLAB进行求解。
摘要由CSDN通过智能技术生成

想必我们都听说过Gauss小学的时候便快速算出了1+2+...100的答案5050,这让我们不禁好奇这个问题应该如何计算或者说如果将100改成变量n应该怎么办呢?

        事实上,我们可以这么做:

1+2+...+n-1+n=S\newline n+n-1+...+2+1=S

仔细观察,这第二个公式似乎只是第一个公式的逆序但是让我们观察一下 ,第一个公式的第i项应该是i,而第二个公式的第i项应该是n+1-i,如果上下第i项相加应该都是n+1,而i从1到n,因此,我们知道n(n+1)=2S\newline S=\frac{n(n+1)}{2},带入100正是5050,这让我们不禁感到神奇,原本需要加100次,现在我们只需要一个简单的公式就能算出来!

        这让我不禁好奇1^2+2^2+...n^2\newline 1^3+2^3+...n^3\newline ...\newline 1^x+2^x+...n^x这些东西是不是也可以像上面一样,直接化简为一个公式,答案当然是Yes!

新的办法

如果我们采用求1^2+2^2+...+(n-1)^2+n^2=S\newline n^2+(n-1)^2+...+2^2+1^2=S这样子采用逆序求和我们会发现错的一塌糊涂,所以我们必须采用新的办法。但是在这之前我们需要先规定一些新的记法:

S_x=1^x+2^x+...+n^x.容易知道S_0=nS_1=\frac{n(n+1)}{2}。让我们看一种更有启发式的办法来证明它们,首先我们发现(n+1)-n=1=n^0;\newline n-(n-1)=1=(n-1)^0;\newline ...\newline 2-1=1=1^0,如果将上面左侧的全部加起来右侧也加起来得到(n+1)-n+n-(n-1)+...2-1=1^0+2^0+...n^0\newline n+1-1=n=1^0+2^0+...n^0=S_0,看上去还不错,让我们再试试S_1=\frac{n(n+1)}{2},这次我们用(n+1)^2-n^2=2n+1=2n+n^0;\newline n^2-(n-1)^2=2(n-1)+1=2(n-1)+(n-1)^0;\newline ...\newline 2^2-1^2=2*1+1=2*1+1^0重复上面的流程,容易发现(n+1)^2-n^2+n^2-(n-1)^2+...2^2-1^2\newline=2(n+(n-1)+...1)+(n^0+(n-1)^0+...1^0)\newline (n+1)^2-1^2=2S_1+S_0,咦?似乎有点门道,让我们移项化简,容易得到S_1=\frac{n(n+1)}{2}

这次直接让我们跳到x次幂使用这种方法,(n+1)^{x+1}-n^{x+1}=\binom{x+1}{0}n^{x}+\binom{x+1}{1}n^{x-1}+...\binom{x+1}{x+1}n^0; \newline n^{x+1}-(n-1)^{x+1}=\binom{x+1}{0}(n-1)^{x}+\binom{x+1}{1}(n-1)^{x-1}+...\binom{x+1}{x+1}(n-1)^0; \newline ...\newline 2^{x+1}-1^{x+1}=\binom{x+1}{0}1^{x}+\binom{x+1}{1}1^{x-1}+...\binom{x+1}{x+1}1^0。(注意这里的\binom{x+1}{k}是组合数)还是熟悉的配方还是原来的味道,左右侧相加,我们得到了(n+1)^{x+1}-1^{x+1}=\binom{x+1}{0}S_x+\binom{x+1}{1}S_{x-1}+...\binom{x+1}{x+1}S_0.我们发现S_x依赖于S_0,S_1...S_{x-1}那么我们只要化简上式就可以得到S_x的递推式,不过用这种办法算的话似乎有点慢并且出错的概率极大(因为S_x依赖于S_0,S_1...S_{x-1},所以只要有一个式子出错后面的计算便会前功尽弃),我曾经用这种办法算到了S_7计算量就已经非常的复杂,而且每次算出一个式子我就会代入三四个数字验证对错。不过现在我发现了一种投机取巧的方式,只要解出一组线性方程我们就可以得到S_x

不妨让我们看几个例子吧!

                S_0=n\newline S1=\frac{n(n+1)}{2}\newline S_2=\frac{n(n+1)(2n+1)}{6}\newline S_3=S_1^2=\frac{n^2(n+1)^2}{4}

我们发现当下标为i时,S_i的最高次幂似乎是i+1次幂。不过毕竟只是针对前四项成立,如何证明他对第x项也成立呢?

我们可以用强归纳法:假设对于小于n的数字i而言,S_i的最高次幂是i+1

而我们已经证明(n+1)^{x+1}-1^{x+1}=\binom{x+1}{0}S_x+\binom{x+1}{1}S_{x-1}+...\binom{x+1}{x+1}S_0,左侧多项式最高次幂显然是x+1,我们可以再假设S_x最高次幂不是x+1:

1^`  ,S_x最高次幂大于x+1,如果是这样就会得到x+1次幂函数等于大于x+1次幂的函数,这显然是荒谬的!

2^`  ,S_x最高次幂小于x+1,如果是这样就会得到x+1次幂函数等于小于x+1次幂的函数,因为我们的假设是对于小于n的数字i而言,S_i的最高次幂是i+1,那么左侧最高次幂不是S_{x-1}的最高次幂就是S_x的最高次幂,但是无论哪个都会小于x+1.

所以,S_x最高次幂必然是x+1。                Q.E.D

因此,我们知道S_x=a_{x+1}n^{x+1}+a_{x}n^{x}+...a_{1}n+a_0,带入n=0,我们知道S_x=0,因此a_0=0,因此S_x=a_{x+1}n^{x+1}+a_{x}n^{x}+...a_{1}n,如果我们解出各个系数我们也就解出了S_x的公式,听上去似乎很不错,但是该怎么做呢?

\begin{bmatrix} 1 &1^2 & ... &1^{x+1} \\ 2& 2^2 & ... & 2^{x+1}\\ ...& ... & ... &... \\ (x+1)&(x+1)^2 & ... & (x+1)^{x+1} \end{bmatrix}\begin{bmatrix} a_1\\ a_2\\ ...\\ a_{x+1} \end{bmatrix}=\begin{bmatrix} 1^{x+1}\\ 1^{x+1}+2^{x+1}\\ ...\\ 1^{x+1}+2^{x+1}+...+(x+1)^{x+1} \end{bmatrix}当我们解出这个方程的时候各个系数也就一目了然了,对于这个方程我们可以使用matlab进行求解。具体代码实现大家可以自行尝试!

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值