python 实现harmonic series调和级数算法

news/2024/9/29 9:41:39/

harmonic series调和级数算法介绍

调和级数(Harmonic Series)是一个在数学中非常重要的级数,其形式为无穷级数:
H n = ∑ k = 1 n 1 k H_n=\sum_{k=1}^{n}\frac{1}{k} Hn=k=1nk1

其中,
𝑛
n 是正整数。这个级数是由调和数列(Harmonic sequence)的各元素相加所得的和。调和级数的名字源于泛音及泛音列,即一条振动的弦的泛音的波长依次是基本波长的 1 2 、 1 3 、 1 4 \frac{1}{2}、\frac{1}{3}、\frac{1}{4} 213141 等。

调和级数的性质

发散性:调和级数是一个发散的无穷级数,也就是说,它的部分和随着项数的增加而无限增长。这个性质最早由中世纪后期的数学家Oresme证明,随后在17世纪由皮耶特罗·曼戈里、约翰·伯努利和雅各布·伯努利等人完成了全部证明工作。

增长速度:尽管调和级数是发散的,但其发散的速度非常缓慢。例如,调和序列前10项的和还不足2.9(具体为 1 1 + 1 2 + 1 3 + … + 1 10 ≈ 2.928968 \frac{1}{1}+\frac{1}{2}+\frac{1}{3}+…+\frac{1}{10}≈2.928968 11+21+31++1012.928968),这是因为调和数列的部分和呈对数增长。

调和级数的计算

由于调和级数是发散的,因此无法直接计算出其“总和”到一个具体的有限值。然而,数学家们通过不同的方法(如积分判别法、柯西并项判别法等)研究了其发散的性质,并发现了一些与之相关的常数和性质。

例如,调和级数的部分和与欧拉常数(Euler-Mascheroni constant)有关。欧拉常数是一个数学常数,大约等于0.5772156649,它表示了调和级数与自然对数之间的某种联系。

调和级数的推广

调和级数可以推广到更一般的形式:

H n ( α ) = ∑ k = 1 n 1 k α H_n(α)=\sum_{k=1}^{n}\frac{1}{k^α} Hn(α)=k=1nkα1

其中,α 是任意实数。当 α>1 时,$H_n(α) 是收敛的;当 0 < α ≤ 1 时, 是收敛的;当 0<α≤1 时, 是收敛的;当0<α1时,H_n(α)$是发散的。

结论

调和级数的算法主要在于理解其发散性和增长速度,以及如何通过数学方法(如积分判别法)来研究其性质。由于调和级数是发散的,因此无法直接计算其总和,但可以通过研究其部分和的性质来深入了解这个重要的数学对象。

python_31">harmonic series调和级数算法python实现样例

下面是使用Python实现调和级数算法的代码:

python">def harmonic_series(n):result = 0for i in range(1, n+1):result += 1/ireturn resultn = int(input("请输入一个正整数: "))
print("调和级数的值为:", harmonic_series(n))

在上面的代码中,我们定义了一个名为harmonic_series的函数,接受一个正整数n作为参数。该函数使用一个循环来计算调和级数的值,循环从1到n遍历每个整数,然后将其倒数加到结果中。最后,函数返回计算出的调和级数的值。

在主程序中,我们首先通过input函数获取用户输入的正整数n,然后调用harmonic_series函数来计算调和级数的值,并将结果打印出来。


http://www.ppmy.cn/news/1531868.html

相关文章

linux命令之firewall-cmd用法

firewall-cmd Linux上新用的防火墙软件&#xff0c;跟iptables差不多的工具 补充说明 firewall-cmd 是 firewalld的字符界面管理工具&#xff0c;firewalld是centos7的一大特性&#xff0c;最大的好处有两个&#xff1a;支持动态更新&#xff0c;不用重启服务&#xff1b;第…

Font Awesome 手势图标

Font Awesome 手势图标 Font Awesome 是一个广泛使用的图标库,它为网页设计师和开发者提供了一系列高质量的图标。这些图标涵盖了从基本的网页元素到复杂的符号和手势,可以轻松地集成到各种网页和应用中。在本文中,我们将重点介绍 Font Awesome 中的手势图标,探讨它们的应…

coco(json)、yolo(txt)、voc(xml)标注格式的相互转换

一般都是用labeleme进行标注 标注格式都是json 然后根据不同的格式进行数据标注转换&#xff1a; 1.逐个json转xml: 当我们在使用数据集训练计算机视觉模型时&#xff0c;常常会遇到有的数据集只给了单个的json annotation文件&#xff0c;而模型所需要的annotation是基于每…

JavaScript中的输出方式

1. console.log() console.log() 是开发者在调试代码时最常用的方法。它将信息打印到浏览器的控制台&#xff0c;使开发者能够查看变量的值、程序的执行状态以及其他有用的信息。 用途&#xff1a;用于调试和记录程序运行时的信息。优点&#xff1a;简单易用&#xff0c;适合…

electron介绍

Electron中文文档 Electron是什么&#xff1f; Electron是一个使用 JavaScript、HTML 和 CSS 构建桌面应用程序的框架。 Electron 允许开发者使用前端技术栈来创建可以在 Windows、macOS 和 Linux 等多个操作系统上运行的桌面应用程序。 Electron 本质上是一个运行在桌面操作…

UDP校验和计算及网络中的校验和机制

UDP (User Datagram Protocol) 是一种无连接的传输层协议&#xff0c;它不像 TCP 那样提供可靠的传输保证。虽然 UDP 不保证数据可靠性&#xff0c;但它仍然提供了一个可选的校验和机制来检测数据在传输过程中出现的错误。 理解UDP校验和的计算过程和其在网络中的作用至关重要。…

物联网系统中OLED屏主流驱动方案详解

01 物联网系统中为什么要使用OLED驱动芯片 卓越的显示效果 1、高对比度和鲜艳色彩&#xff1a;OLED屏幕能够自发光&#xff0c;因此能够实现极高的对比度和鲜艳的色彩表现&#xff0c;这在物联网设备的显示界面上尤为重要&#xff0c;可以为用户提供更清晰、更生动的视觉体验…

第四章 -课后练习7:一元线性回归 EXCEl实验与Python结合实现

1、首先使用excel录入数据&#xff0c;绘制散点图&#xff1a; 时序年份销售量&#xff08;件&#xff09;12012423.5022013433.3832014443.3242015450.8452016460.1462017467.5972018480.1682019483.7392020488.49102021494.28112022506.551 由散点图得出销售量数据大致符合线…