辛普森方法17 Mar 2025 | 4 分钟阅读 辛普森法是一种由托马斯·辛普森提出的数值积分方法,因此得名辛普森法。尽管辛普森法有特定的规则,但最基本的有辛普森的两条规则,即:
在本节中,我们将讨论辛普森的这两条规则,并实现这两条规则的示例代码。 辛普森1/3规则它也被称为辛普森规则,该规则表示: ![]() 其中f(x)是积分函数,a是下限,b是表达式中的积分上限。 二次插值 用二次多项式P(x)替换积分函数f(x),P(x)是一条抛物线,它在a和b处取与f(x)相同的值。它还像f(x)一样计算m = (a + b)/2。因此,通过使用拉格朗日多项式插值和代换积分,我们得到: ![]() 然后使用步长h=(b-a)/2,它可以写成: ![]() 由于它是h/3,即1/3因子,我们称之为辛普森规则为辛普森1/3规则。 辛普森规则可以通过下面的图表推导出来,其中我们用二次插值P(x)近似积分的f(x)。 ![]() 数值示例 为了解决一个数值问题,我们需要使用辛普森规则,即: ![]() 数值问题:在4到5.2的范围内计算logx dx。 解决方案 步骤1:选择将区间划分的值,即n的值。因此,对于给定的表达式,首先我们将区间分成六个相等的部分,因为区间的数量应该是偶数。 步骤2:计算h = (b - a)/2的值 步骤3:评估并计算x0到xn的值。考虑y = f(x)并计算x0到xn对应的y0到yn的值。这里,我们得到以下数据: ![]() 步骤3:将值代入方法中,然后我们可以使用上述公式计算积分的近似值。 = h/3[( 1.38 + 1.64) + 4 * (1.43 + 1.52 + 1.60 ) +2 *(1.48 + 1.56)] = 1.84 因此,使用辛普森1/3规则,上述积分的近似值为1.827。 辛普森1/3规则的程序实现下面是辛普森1/3规则的C语言程序代码实现: 上述代码的输出如下所示 ![]() 辛普森3/8规则它是辛普森的第二条规则,也类似于辛普森1/3规则,但有所不同。1/3规则和3/8规则的区别在于,在辛普森3/8规则中,插值函数是一个三次多项式。辛普森3/8规则表示: ![]() 其中f(x)是积分函数,h是区间的长度,计算公式为h = (b - a)/n,其中n是这里的区间限制。 现在,让我们看看程序实现,以理解辛普森3/8规则背后的逻辑。 实现辛普森3/8规则的程序下面是C++语言的程序代码实现: 上述代码的输出如下所示 ![]() 除了这些讨论的辛普森的两条规则之外,还存在第三条规则,用于海军建筑和船舶稳定性估算。然而,在一般方法中,它并不重要。 下一个主题C语言中的金字塔模式 |
排序是计算机科学中的一项基本功能,涉及将一组元素按特定顺序排列。有多种排序算法,每种算法都有其优点和缺点。冒泡排序就是这样一种算法,由于其易于使用,...
阅读 3 分钟
本节将讨论字谜及其程序,以检查给定的字符串是否是字谜。字符串的字谜是包含两个字符串中相同字符的字符串,只是字符的顺序可能不同...
5 分钟阅读
数组和字符串是 C 语言中广泛使用的两种数据类型,尽管它们在功能、用途和应用方面存在显著差异。在本文中,我们将探讨数组和字符串在 C 语言中的区别。定义和属性数组是...
7 分钟阅读
引言:解析过程涉及确定给定程序是否合法。它检查作为输入的字符串是否遵循已建立的语法。解析器有两种类型:1. 自顶向下解析器:这些解析器从树的根部开始,然后向下工作...
阅读 4 分钟
借助文件处理,我们可以在计算机上创建一个本地银行账户系统,该系统可以具有开户、账户登录、交易等功能。在 main 函数中,我们将拥有基于用户输入的所有功能。我们将调用不同的...
阅读 4 分钟
尝试通过编程创建不同的东西总是很有趣的。使用编程语言创建模式将是你在制作更具创意项目之前迈出的第一步。在本文中,我们将讨论如何使用C编程语言创建一些有趣的模式。在本文中,...
阅读9分钟
在本节中,我们将研究如何使用C语言打印倒置金字塔。这里有几个例子:方法1:模式分为三个部分:空位将使用for循环打印。要从左侧打印三角形,请使用for...
阅读 3 分钟
在计算机语言中,垃圾回收是内存管理的关键组成部分。它是程序内存被自动识别和释放的过程。C 编程缺乏内置的垃圾回收功能,因为它是一种低级编程语言。但是,有许多库...
阅读 4 分钟
简介:程序员以模式的形式编写了大量的练习程序。其中之一是钻石模式程序。在这里,我们将使用C语言创建一个空心钻石设计。C语言星形图案,带空心钻石让我们用C语言创建一个空心钻石星形图案程序:#include<stdio.h> int...
5 分钟阅读
一些日历信息 地球绕太阳公转一周所需的时间是一年。它接近 365.25 天。因此,如果将 365 天视为一年,则 4 年总共有 1 天剩余。这导致了闰...
阅读 4 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India