matlab调和级数求和,科学网—疯狂的绝技------级数加速收敛的艺术 - 张江敏的博文...
很多时候,我们需要计算一个无穷级数之和。比如,历史上著名的Basel问题是要计算级数
之和。这个问题之所以叫巴塞尔问题,是因为来自巴塞尔的约翰-伯努利和雅克比-伯努利为之苦恼了很久,尔后解决之的数学家欧拉也来自巴塞尔。欧拉解决这个问题时,雅克比-伯努利已经死了,约翰-伯努利为之深表遗憾。
从纯粹数学分析的角度看,这个问题颇具吸引力。众所周知,调和级数
是发散的,并且是处在临界点上的发散级数。将分母上的n改成n的平方后,级数衰减加快,就收敛了。
欧拉凭借其天才解决了这个问题。事实上,用了不到2页纸,他不仅解决了这个问题,还解决了一系列类似的问题,即分母是n的任意偶数次幂的情况。他其实得到了所谓的欧拉等式
这个等式博主曾多次用到。
欧拉得到的结果是,这个级数和为pi^2/6。很神奇,无端中出现了圆周率pi。这让人想起维格纳讲的那个笑话。他两个同学多年之后相遇了,甲问乙在干什么,乙说他在做人口预测,然后给甲看预测公式,公式里有pi,甲便说这肯定错了,人口增长跟圆周率有什么关系呢?
欧拉的解法有天马行空的天才特征,但是也正因为如此在严格性上有所缺失。
不过欧拉对自己的结果有信心,因为在这之前他曾老老实实地计算过这个级数和,跟pi^2/6吻合很好。
本来对这个级数求和是一个很困难的问题。因为很明显,级数平方衰减,如果截断到前N项,那么误差就在1/N的量级。如果想算到小数点后三位,那么得取前1000项,这个计算量令人望而生畏。可是,欧拉一口气算到了小数点后20位!这对应着截取前万亿亿项,用今天的计算机恐怕也得算上千年呢。
原来欧拉有他自己发明的绝技,即后来所谓的欧拉-马克劳林公式。大体而言,这个公式在离散和和连续积分之间建立了一座桥梁。通常物理文献里的求和化积分,其实就是取这个公式的首项,后面更细致的小数点后多位的高阶项就扔了。这个公式的准确表述如下,其中B是所谓的伯努利常数,事先已经计算好了。
用在计算级数和上,这个公式的作用是生成一个收敛非常快的渐进级数。基于这个级数,下面的matlab程序在只取原级数前10项的情况下,将级数和算到计算机机器精度,也就是小数点后15位。其中的计算量哪怕手算也是可以胜任的。
上世纪20年代,Richardson等人又发明了新办法。其想法之简单,几句话就可以说清楚。
其效率之高,居然只需要前512项就可以达到计算机机器精度!下面是针对basel问题的matlab程序:
计算结果(随着迭代,曲线依次往下):
作业1:计算Leibniz级数的和
准确的结果是pi/4。这是Leibniz很得意的发现,但是他没有用这个级数计算圆周率,为什么?你现在是否有办法?
转载本文请联系原作者获取授权,同时请注明本文来自张江敏科学网博客。
链接地址:http://blog.sciencenet.cn/blog-100379-1075769.html
上一篇:动态Friedel振荡
下一篇:以色列hasbara活动
matlab调和级数求和,科学网—疯狂的绝技------级数加速收敛的艺术 - 张江敏的博文...相关推荐
- matlab画复变函数,科学网—复数复变函数的Matlab计算与绘图 - 周铁戈的博文
复数复变函数的Matlab计算与绘图 周铁戈 复数的表示 存在两种表示方法,一种是代数式,一种是指数式,在Matlab中的方式如下: >> z=1+2i #代数式,1 ...
- matlab基本矩阵运算,科学网—matlab中矩阵基本运算 - 成爱芳的博文
以矩阵A为例: (1)转置矩阵求取 AT transpose(A) >> A=[1 0 3; 2:4; 3 1 0] A = 1 0 3 2 3 4 3 ...
- matlab聚类算法,科学网—matlab-聚类算法笔记 - 孙月芳的博文
MATLAB提供了两种方法进行聚类分析: 1.利用clusterdata 函数对数据样本进行一次聚类,这个方法简洁方便,其特点是使用范围较窄,不能由用户根据自身需要来设定参数,更改距离计算方法: 2. ...
- matlab 水平投影,科学网—Matlab中如何将投影信息写入到shape文件中 - 朱永超的博文...
在Matlab中保存shape格式数据时,没有具体的函数可以将投影信息直接写入到shape文件中,不过可以通过另外一种方式实现.看下shape格式的文件不难发现,shape文件的投影信息是一个单独的文 ...
- matlab流量结构分析,科学网-分享求解“结构分解分析(SDA)”各项均值的MATLAB程序-计军平的博文...
点此下载(MATLAB File Exchange) [2015.02.18补充]其他研究人员的MATLAB代码 Sayago-Gomez, Juan Tomas, (2014), Matlab Co ...
- matlab的annotation,科学网—annotation in matlab Graph - 夏靖的博文
matlab 中annotation的操作可以象windows的"画图"一样很方便的对图像进行标注,但如果所绘的图需要修改,其标注也需要再手工重复操作一次,所以在这种情况下用脚本进 ...
- matlab全景图素材,科学网—meshlab查看360度全景图像 - 王琳的博文
一. 常见的360o全景照片,图像长宽比例通常为2:1. 二 . 用matlab的sphere()函数计算球面mesh的Vertex坐标[x,y,z]以及纹理坐标[xt,yt] N = 100; [x ...
- matlab 数据分割,科学网—MATLAB把一个包含多个站点数据的文件分割到各个站点单独的文件夹 - 张乐乐的博文...
有65个站点的气象数据,但是这些数据全部在一个文件中,本程序主要想着把每个站点的数据放在各个单独的文件夹中.下面是我给写的程序: clear;clc %读取数据 shuju=importdata('C ...
- matlab syms min,科学网—Matlab中的syms与conj - 孔令才的博文
Matlab提供了强大的符号计算功能,主要利用syms函数创建符号变量,例: >> syms x a b; >> diff(a^(b*x)+exp(a*x^2+b*x),x) ...
最新文章
- 客户端连ORACLE
- 【Python基础】Python之collections库-Counter
- 详细分析图像形态学操作
- uwp应用在debug模式下运行正常,编译为release版本的时候抛出异常
- struts基本概念(2)
- 你见过的MCU最高GPIO翻转频率是多少?
- C#中使用FFMPEG切割、合并视频。
- CENTOS 7 YUM 没有可用的软件包 NGINX
- 思考问题的一些方法:一般化,特殊化和归纳类比
- android revre view,MK802 4.0.4 CWM Recovery
- python客户端软件开发_用 Python 实现一个简易版 HTTP 客户端
- mpls工作原理通俗解释_MPLS的工作原理
- 联盛德W801系列9-wifi和4G模块(air724ug)并存使用MQTT总结
- 1044: 不及格率 Python
- Jenkins报错'Gradle build daemon disappeared unexpectedly'的问题解决
- Could not load extension class org.apache.cxf.transport.http_jetty.JettyDestinationFactory.
- 今年底出版《算法竞赛》,这是大纲
- appinventor HTML5,App Inventor编程教程-第18课-创建动画应用
- android简历!写给即将正在找工作的Android攻城狮,已拿offer
- Linux主机名查看和更改