理解对数——金融问题中的自然对数(以e为底的对数)

C++实现自然对数函数:从数学原理到高效代码的完整实践 在数值计算和算法实现中,理解核心数学函数的底层原理至关重要。自然对数作为数学、物理和工程领域的基础函数,其高效稳定计算是许多复杂算法(如机器学习、信号处理)的基石。通过泰勒级数展开和对数运算性质,结合浮点数表示原理,可以构建出高精度、自包含的计算方法。本文深入探讨了如何利用规格化分解、区间变换和霍纳法则优化,在C++中手动实现自然对数函数,不仅揭示了标准库函数背后的算法思想,更通过完整的代码实践和误差分析,为开发者提供了在嵌入式系统、高性能计算等特定场景下,实现可控、高效数值计算的能力。 阅读详情

第3章 金融问题(Financial Matters)

——金融问题中的自然对数

If thou lend moneyto any ofMy people. ...

thou shalt not beto him as a creditor;

neither shall yelay upon him interest.

(如果你借钱给我的任何人。 ……你不应该是他的债权人;也不可向他加息。)

——EXODUS 22:24

自古以来(From timeimmemorial),金钱问题一直是人类关注的中心。生活的其他方面没有比获得财富和实现财务安全的冲动更平凡的了(mundane)。因此,在 17 世纪早期,一位匿名数学家——或者可能是商人或放债人——注意到货币增长的方式与某个数学表达式在无穷大时的行为之间存在一种奇怪的联系,这一定是令人惊讶的。

对金钱的任何考虑的概念的核心是利息(interest),或贷款支付的额外的钱。借钱收费的做法可以追溯到有文字记载的历史之初。 事实上,我们所知的许多最早的数学文献都涉及与利率相关的问题。例如,一块来自美索不达米亚(Mesopotamia)(古希腊对两河流域称谓)的黏土板(clay tablet),可追溯到公元前1700 年左右,现在存放在卢浮宫(Muséedu Louvre,法国博物馆),这块泥板提出了以下问题:如果以 20%的年复合利率投资,一笔钱需要多长时间才能翻倍?[1] 为了用代数语言来确切表达或公式化(formulate)这个问题,我们注意到每年年底总和增长 20%,即增长到原来的1.2倍;因此在x 年后总和将增长到 倍。因为问题是多久时间才能翻倍,即这等于原始总和的两倍,所以我们有 (注意原始总和不进入等式)。

现在,我们来解这个方程,即,我们必须求得这个未知的指数——我们必须使用对数,这是巴比伦人(Babylonians)所没有的方法。无论如何,他们通过观察(译注:通过直接自乘法可得),可以求得这个指数的近似解;他们观察到, ,而 ; 因此,x 一定是一个位于区间 3 到 4 之间的数(译注:小数)。为了缩窄这个待求值的所在区间,他们使用了一个称为线性插值(interpolation)的过程。求得一个将区间 3 到 4 划分开的数,使其划分比率与2 划分区间 1.728 到2.0736 相同。这就导致产生了一个以 x 为未知量的(一阶)线性方程,这个方程可以很容易地使用初等代数知识求解。但是,巴比伦人还没有我们现代的代数技巧,对于他们来说,要求得满足要求的值并不是一项简单的任务。然而,他们给出的值x = 3.7870,非常接近正确解3.8018(即,大约 3 年零 9 个月18 天)。我们应当指出,巴比伦人不使用十进制记数系统,十进制系统仅始于中古时代早期;他们采用的是60 进制(sexagesimal)记数系统,这是一种基于数60 的进制系统,满60 进位。按照60 进制的记法,卢浮宫粘土板给出的答案是3;47,13,20 ,其中,六十进制记数系统指的是 ( ),或者是一个非常接近3.7870 的数。[2]

在某种程度上,巴马伦人确实使用了某种对数表。在现存的粘土板中,某些板列出了数 1/36,1/16,9,和 16 (前两个以六十进制系统表示为 0; 1,40 和 0;3,4)的前十个幂——所有都是完全平方。由于这样的表列出了一个数的幂而不是指数,所以除了巴比伦人没有使用单一的标准底数来表示他们的幂之外,它实际上是一张反对数表。这些表似乎是为了处理涉及复利的特定问题而不是为了一般用途而编制的。[3]

我们简单考察一下这个复利是如何执行的。假设我们在支付 5% 年利息的账户中投资 100 美元(“本金(principal)”),每年复利。一年结束时,我们的余额将为100 x 1.05 = 105美元。然后,银行会将这笔新金额视为恰好以相同利率进行再投资的新本金。因此,在第二年末,余额将为 105 x 1.05 = 110.25 美元,在第三年末余额为 110.25x 1.05=115.76 美元,依此类推。(因此,不仅本金享有年息,前面本金之上的利息也享有利息——因此称为“复利”。) 我们看到我们的余额以等比级数(geometric progression)增长,通比(或称公比)(commonratio)为 1.05。 相比之下,在支付单利(simpleinterest)的账户中,年利率仅适用于原始本金(originalprincipal),因此每年产生的利息都相同。如果我们以 5% 的单利投资 100 美元,我们的余额每年会增加 5 美元,这时,我们的本息呈现为等差级数(arithmeticprogression) 100,105,110,115,依此类推。显然,无论利率如何,以复利投资的资金最终将比以单利投资增长得更快。

从这个例子中很容易看出一般情况下会发生什么。假设我们将 P 美元的本金投资于一个支付 r % 年复利利率的账户(在计算中我们总是将 r 表示为小数,例如,表示为0.05 而不是5% )。这意味着在第一年末我们的余额将为P (1 + r),第二年末我们的余额将为 ,依此类推,则t 年后余额将变成 。用S 表示这个余额,我们得出公式

---------------------------------------------------(1)

这个公式几乎是所有财务计算的基础,无论它们适用于银行账户、贷款、抵押贷款(mortgages)还是年金(annuities)。有些银行计算应计利息不是一次,而是一年计算数次。例如,如果 5% 的年利率每半年复利一次,则银行将使用年利率的二分之一作为每期利率。 因此,在一年内,100 美元的本金将复利两次,每次的利率为 2.5% ;这将达到 或 105.0625 美元,如果年复合利率为 5%,则比相同本金的收益率高出约 6 美分。

在银行业,人们会发现各种各样的复利计划——每年、每半年、每季度、每周甚至每天。假设复利每年进行 n 次。对于每个“转换期(conversionperiod)”,银行使用年利率除以 n,即 。 由于在 t 年内有 (nt ) 个转换期,本金 P 将在 t 年后产生金额

---------------------------------------------------(2)

显然,方程(1)仅仅是方程(2)的一个特例——当 n = 1 时的情况。

假设年利率相同,比较给定本金在不同转换期一年后将产生的金额将很有趣。让我们以 P = 100 美元 和 r = 5% = 0.05为例加以说明。在这里,会用到手持计算器。如果计算器有求幂键(通常用符号 表示),我们可以直接用它来讲算期望的值;此外,我们必须重复乘以因式(1 + 0.05/ n)。结果如表 3.1 所示,非常令人惊讶。 正如我们所见,100 美元的本金每日复利收益率仅比年复利高13美分,比月复利或周复利高约1美分!我们把钱投资在哪个账户上几乎没有什么区别。[4]

------------表3.1 100 美元在不同转换期以5%的年利率投资一年的余额--------------

(译注:Semiannually-按半年期,quarterly-按季度)

为了进一步探讨这个问题,让我们考虑方程(2)的一个特例,即 r = 1 的情况。这意味着年利率为 100% ,而且肯定没有哪家银行提供过如此慷慨的报价。然而,我们想到的不是实际情况,而是一个具有深远数学结果的假设案例。为了简化我们的讨论,让我们假设P = 1 美元和 t = 1 年(译注:在这个表达式中,P 取多少并不影响表达式的性质,因此,为方便记,取P = 1;同时,t 的取值也不影响表达式的性质,为方便记,取 t = 1;而对于 r 的取值情况,对于某个常数来讲,当 n 趋于无穷大时, 与 呈现出来性质是一样的,因此只需分析 r = 1这种情况即可)。 方程(2)则变为

---------------------------------------------------(3)

我们的目标是研究这个公式在增加 n 值时的行为。结果在表 3.2 中给出。

--------------------表3.2 随n 变化的取值-------------------

看起来 n 的任何进一步增加都几乎不会影响结果——变化将发生在越来越不重要的数字上。

但是,这种模式会一直随着n 的增大而保持不变吗?是否有可能无论n 有多大, 的值都将稳定在 2.71828 附近?详细的数学分析确实证实了这种有趣的可能性(见附录2)。我们不知道是谁最先注意到表达式 随着 n 趋于无穷大时的特殊行为,因此后来采用e 表示这个奇特数的确切日期仍不确定。然而,它的起源似乎可以追溯到17 世纪初,大约在 Napier 发明对数的同一时期。(正如我们所见,Edward Wright对 Napier的 “对数说明书(Descriptio)”[1618] 的译本第二版间接引用了e。) 这一时期的标志是国际贸易的巨大增长,各种金融交易激增;结果,人们对复利法则给予了极大的关注,并且数e 可能在这种情况下得到了第一个认可。然而,我们很快就会看到,与复利无关的问题也几乎在同一时间导出了这个相同的数。但在我们转向研究这些问题之前,我们最好仔细看看 e 的根(root)的数学过程:极限过程。

说明与资料来源:

1. 参见 HowardEves 所著<< AnIntroduction to the History of Mathematics>>(数学简史)(1964年初版; Philadelphia: SaundersCollege Publishing, 1983重印)第36页。

2. 参见 CarlB. Boyer 所著<<A History of Mathematics>>(数学史,修订版)( NewYork: John Wiley,1989出版)第36页。

3. 同2.,第35页。

4. 当然,差额还是和本金成正比的。如果我们投资1,000,000 美元而不是100 美元,那么如果按年复利计算,我们在第一年末的余额将为1,050,000 美元,而如果按日复利计算则为1,051,267.50 美元——相差1267.50 美元。你总是有钱更好!

内容来源:

<<e:The story of a number>> (数e的故事) 作者:Eli Maor

对数函数的工程本质:底数选择、定义域陷阱与真实场景落地 对数函数是连接数学原理与工程实践的关键桥梁,其核心在于将乘法关系转化为加法运算,实现非线性数据的线性化表征。从指数函数的反函数定义出发,对数天然具备压缩大范围数值、适配人类感知和物理尺度的能力。自然对数(e)契合连续增长与微分规律,常用对数(10)支撑数量级估算与分贝/pH等工程标度,二进制对数(2)则根植于信息论与计算复杂度。实际应用中,底数合法性(a>0且a≠1)、真数定义域(x>0)并非教条限制,而是由指数运算的值域边界决定;越界常引发NaN传播、精度漂移或硬件误判。在地震预警、医学影像、金融风控、音 阅读详情

相关推荐

指数与对数:从数学基础到工程应用

指数与对数是数学中的基础概念,广泛应用于计算机科学、金融、声学等多个领域。指数函数描述快速增长或衰减的过程,而对数函数则是指数函数的逆运算,用于解决涉及幂次的问题。在计算机科学中,对数复杂度(如O(log n))是评估算法效率的重要指标;金融领域的复利计算则依赖指数函数。理解这些概念不仅有助于掌握算法分析,还能应用于科学测量中的对数尺度(如分贝、pH值)。通过实际案例(如纸张对折、复利计算)可以直观理解其原理,而掌握运算规则(如指数法则、对数换底公式)则能提升计算效率。

weixin_29093169的博客 235

复利与e

上一篇介绍复利公式: P= P(1+r)^n 其中P是本金,r是年利率,n是年数 如果P=1,r=100%,n=1,则一年后的值为1(1+100%)*1=2 如果按照半年计算利率会怎么样? 如果一年期的利率是100% ,那么半年期则为50%, P上半年 = P+P*r=P(1+r) 下半年按照上半年的结果计算利率 P下半年 = P上半年 + P上半年*r= P上半年(1+r) = P(...

prupcognition的博客 5594

自然数e在银行利率上的应用

自然数e(约2.71828)在银行利率计算中扮演关键角色,尤其在连续复利模型中。当复利频率无限增加时,离散公式会趋近于e,形成连续复利公式A=Pe^(rt)。这一理论模型虽与实际银行业务(多为离散复利)不同,但提供了评估利率方案的有效基准,并能更精确地计算长期增长。例如,10,000元以4%年利率连续复利3年,可得约11,275元,略高于年复利的11,248.64元。e的应用简化了金融计算,有助于优化储蓄和投资决策。

RulesChen的博客 1067

【漫话机器学习系列】179.自然对数(Natural Log)

在数学、物理、计算机科学和工程学中,对数(logarithm)是一种重要的运算。自然对数(Natural Log,简写为 ln) 是对数的一种特殊形式,它的底数是 欧拉数 e,即 e ≈ 2.71828。

IT古董 2820

数据分析在金融领域的应用

1.背景介绍 金融领域是数据分析的一个重要应用领域,金融行业涉及到的数据量巨大,包括交易数据、客户数据、风险数据等。数据分析在金融领域具有重要的作用,可以帮助金融机构更好地理解市场趋势、优化业务策略、降低风险、提高效率等。 随着大数据技术的发展,金融机构对于数据分析的需求越来越高,需要对数据进行深入的挖掘和分析,以获取更多的价值。数据分析

AI天才研究院 644

C++实现自然对数计算的程序

自然对数是以数学常数 e 为底的对数,其中 e 约等于 2.71828。自然对数在数学和科学领域中非常常见,尤其是在涉及连续增长或衰减的过程。我们用 ln(x) 表示 x 的自然对数,这意味着 e 的 x 次幂等于 x。C++标准库中的<cmath>头文件为开发者提供了丰富的数学运算功能。这些函数允许在C++程序中执行基本的数学运算,如三角函数、对数函数、指数函数等。例如,sincostan可以计算三角函数值;exp可以计算指数函数;pow可以计算幂函数。通过<cmath>

weixin_29138345的博客 1470

5分钟Python实战:用代码揭开自然对数ln的奥秘

本文通过Python实战,深入浅出地揭示了自然对数ln的核心概念与应用。文章从自然底数e出发,阐释了ln作为“增长时间计算器”的本质,并通过代码演示了如何逼近ln值、在金融复利计算中求解翻倍时间,以及在生物种群增长模型中利用ln进行线性回归分析。读者将掌握ln的数学原理及其在数据分析与建模中的强大作用。

herb5的博客 859

掌握自然对数运算在IT中的应用

自然对数的历史可以追溯到16世纪,当时的数学家们正在寻找一种更简单的计算方式来处理涉及复利、增长和衰减的问题。约翰·内皮尔(John Napier),苏格兰数学家和物理学家,被认为是自然对数的发明者,他在1614年发表的著作《神秘的对数》中首次描述了对数的概念。内皮尔通过对比数和自然数之间的关系,创造了一个新的数学工具,即对数,来简化复杂的乘法和除法运算。尽管内皮尔最初定义的并不是我们今天所称的自然对数,但他的工作奠定了对数学说的基础。对数函数是指数函数的反函数。

weixin_35649491的博客 652

5分钟Python实践:用代码揭秘自然对数ln与指数增长的关系

本文通过Python代码实践,深入解析自然对数ln与指数增长的数学关系,揭示ln函数作为指数增长时间度量器的核心作用。从复利计算到疫情传播模型,结合代码示例和可视化图表,帮助读者快速掌握ln函数的实际应用与数学特性。

gin88的博客 543

对数与欧拉数:数据科学中的基石

本篇博客详细探讨了对数函数在数学及数据科学中的重要性及其应用。从基本定义出发,通过实际例子展示了如何在Python中计算对数,并讨论了欧拉数e的性质及其在连续复利计算中的应用。通过理解对数和欧拉数,读者将能够更好地掌握逻辑回归等数据科学领域的概念。

weixin_26854475的博客 542

网络攻防实验——网络监听

利用CAIN实现ARP监听。

Trieyes_of_feng的博客 3197

Python对数计算全解析:从math.log到np.log1p的实战指南

对数变换是数据科学和工程中的基础数学工具,其核心原理在于将乘性关系转化为加性关系,从而在数据跨越多个数量级时提供更直观的表示。这一特性使其在数据处理、模型构建和结果可视化中具有重要技术价值,能够有效缓解数据偏斜、提升模型稳定性。在实际应用场景中,对数广泛用于金融收益率计算、信号处理中的分贝转换、以及机器学习中的损失函数设计。针对Python生态,不同库提供了各具特色的对数函数:内置的math模块适合标量计算,numpy为数组运算提供向量化支持,scipy.special包含gammaln等特殊函数,而pan

weixin_30384217的博客 651

win10安装openvpn客户端

进入C:\Program Files\TAP-Windows\bin目录,然后右键用管理员权限执行addtap.bat文件,此文件执行会创建一个网卡。链接:https://pan.baidu.com/s/1KAifTiP7qp1i5ZkfdnfwkA。4.2 进入安装目录的config下新建一个文件夹,将证书文件全部挪进去(不移动.ovpn文件)3.4 将拿到的ssl认证文件放入安装目录的config目录下。然后修改ovpn文件 “./”代表当前路径,第二个链接重复。3.1 一直下一步到这里打上勾。

qq_36200932的博客 3万+

【高等数学】对数(Logarithm):从基础到实战的计算技巧与应用场景

本文深入浅出地解析了对数(Logarithm)的核心概念与实战应用。文章将对数比作连接指数世界与线性世界的“翻译官”,详细介绍了常用对数、自然对数和二进制对数三大“家族”及其在算法分析、金融计算、数据可视化等场景中的关键作用,并提供了实用的计算技巧与工具方法,帮助读者掌握这一简化复杂问题的“超级工具”。

neovim7hacker的博客 359

Obsidian笔记同步实战:基于Git的私有化部署与自动化管理

本文详细介绍了如何利用Git为Obsidian笔记构建私有化、自动化且免费的同步方案。通过安装配置Git与Obsidian-git插件,结合Gitee等远程仓库,实现笔记的版本管理、多设备同步与自动备份,打造安全可靠的知识管理体系。

y7z8a的博客 273

RabbitMQ高级特性 - 生产者消息确认机制

为了保证信息 从生产者 发送到 队列,因此引入了生产者的消息确认机制.通过事务机制实现.通过发送确认机制(confirm 和 return)实现.因为事务机制比较消耗性能,在实际工作中用的也不多,因此这里主要介绍confirm 和 return机制来实现发送放的确认.a)confirm 确认模式如上图,confirm 确认模式主要保障于 生产者 到 交换机 的消息可靠性.如果 Exchange成功收到消息,那么 ConfirmCallback 这个回调 ack 参数就为true。

CYK_byte的博客 1886

【量化金融】收益率、对数收益率、年华收益、波动率、夏普比率、索提诺比率、阿尔法和贝塔、最大回撤

在学术界,建模一般不直接使用资产价格,而是使用资产收益率(Returns)。因为收益率比价格具有更好的统计特性,更便于建模。下经典的收益率算法如下:假设Pt​Rt​Pt−1​Pt​−Pt−1​​其中,分子Pt​−Pt−1​表示资产在持有期内的收人或利润,如果该值为负,则表示亏损。分母Pt−1​,表示持有资产初期的原始投资。

BetterBench的博客 7929

eNSP常见故障处理

eNSP无法启动设备一直停在#井号的问题的解决方案?

lvshiliang123的博客 2万+

e 值的故事:从复利到自然增长的数学之旅

自然对数函数的底数 e(也称为自然常数或欧拉数)与 π 一样,是数学中最伟大的常数之一。它大约为 2.718281828,是一个无理数,意味着它的小数部分无限且不重复。与 π 和 √2 这些由几何发现而来的常数不同,e 是关于增长率和变化率的常数。它在描述人口增长、经济发展以及其他类型的增长过程中扮演着重要角色。为了理解 e 与增长率的关系,我们需要回溯到 17 世纪,探索最初它是怎样被发现的。

加百力 的技术博客 2663

YOLO26改进策略【卷积层】| CVPR 2025 频率动态卷积 FDConv 频域分权重提多样性 + 双调制降冗余,增强特征表征能力

本文记录的是利用FDConv 算子改进 YOLOv11 的卷积层特征提取层。(Frequency Dynamic Convolution)通过傅里叶域权重划分与空间-频率双调制机制结合,实现YOLOv11特征提取中频率多样化的动态卷积与空间自适应的频带调制。本文利用算子,通过傅里叶不相交权重生成频率差异化的并行卷积核以丰富特征表达,再通过核空间调制和频带调制结合局部-全局信息、适配图像空间异构性,同时依托固定参数预算实现轻量化设计,对YOLOv11中目标的低频语义特征与高频细节/边界特征进行针对性增强、抑制

Limiiiing的博客 476

【数据结构】考点二十八 : 二叉树的概念:二叉树的度、完全二叉树、满二叉数结点数、哈夫曼结点数、完全二叉树的深度

二叉树(Binary Tree)是一种常见的数据结构,它或者为空(null),或者由一个根节点(root node)和两个子树(left subtree 和 right subtree)组成,这两个子树又分别是一棵二叉树。二叉树的每个节点最多有两个子节点,通常称为左子节点(left child)和右子节点(right child)。

超越的博客 1738

指数函数与自然常数 e 直观解析

……

u013669912的博客 888

Android 15.0 app进程保活白名单功能实现

在15.0的系统rom产品开发中,在某些重要的app即使进入后台,产品需求要求也不想被系统杀掉进程,需要app长时间保活,就是app进程保活白名单功能的实现, 所以需要在系统杀进程的时候不杀掉白名单的进程,接下来就看怎么样来实现这些功能

安卓兼职framework和app工程师的博客 639

java实现对数ln2(附带源码)

java实现对数ln2(附带源码)

欢迎来到我的博客!这里是一个专注于计算机技术的分享平台,涵盖编程开发、算法研究、系统架构、软件工程等多个领域。无论你是初学者还是资深开发者,都能在这里找到有价值的内容。 941

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

自然常数e的由来,及欧拉公式

自然数

m0_55714347的博客 2954

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

上一篇: 理解对数——Napier和导数的发明(1614年)
下一篇: 理解对数——你需要了解的方方面面
ComputerInBook
博客等级 码龄19年 1168粉丝 464原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值