辛普森公式求函数的近似积分【通用计算】

2024-05-09 22:12

本文主要是介绍辛普森公式求函数的近似积分【通用计算】,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

利用辛普森公式可以近似求出复杂函数的积分值,公式如下:
∫ a b f ( x ) d x ≈ h 3 [ y 0 + y 2 n − 1 + 4 ( ∑ i = 1 n − 1 y 2 i − 1 ) + ∑ i = 1 n − 1 y 2 i ] \int_{a}^{b} f(x) dx \approx \frac{h}{3}\left[ y_0 + y_{2n-1} + 4(\sum\limits_{i=1}^{n-1} y_{2i-1}) + \sum\limits_{i=1}^{n-1} y_{2i} \right] abf(x)dx3h[y0+y2n1+4(i=1n1y2i1)+i=1n1y2i]

其中 y 0 y_0 y0 y 2 n − 1 y_{2n-1} y2n1的值是原函数在等分点上的函数值。

下面是一个简单的示例:

import numpy as npdef calculate_simpson_integral(target_fun, left_zone, right_zone, zone_num):""" 使用辛普森规则计算积分近似值 """# 计算区间的步长step_len = (right_zone - left_zone) / zone_num# 在区间上生成 zone_num+1 个等距的点dots = np.linspace(left_zone, right_zone, zone_num + 1)# 求分段点的函数值fun_values = target_fun(dots)# 利用公式求近似积分值return step_len / 3 * (fun_values[0] + fun_values[-1] +4 * np.sum(fun_values[1:-1:2]) +2 * np.sum(fun_values[2:-2:2]))# 测试
def integral_function(x):""" 定义被积函数"""return x ** 2# 定义区间参数和分区数量
left_zone = 0
right_zone = 1
zone_num = 100
result = calculate_simpson_integral(integral_function, left_zone, right_zone,zone_num)print("定积分的近似值为:", result)

你可以根据实际需要定义被积函数,然后利用calculate_simpson_integral求其在指定区间上的积分值。

这篇关于辛普森公式求函数的近似积分【通用计算】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/974648

相关文章

csu1328(近似回文串)

题意:求近似回文串的最大长度,串长度为1000。 解题思路:以某点为中心,向左右两边扩展,注意奇偶分开讨论,暴力解即可。时间复杂度O(n^2); 代码如下: #include<iostream>#include<algorithm>#include<stdio.h>#include<math.h>#include<cstring>#include<string>#inclu

poj 1113 凸包+简单几何计算

题意: 给N个平面上的点,现在要在离点外L米处建城墙,使得城墙把所有点都包含进去且城墙的长度最短。 解析: 韬哥出的某次训练赛上A出的第一道计算几何,算是大水题吧。 用convexhull算法把凸包求出来,然后加加减减就A了。 计算见下图: 好久没玩画图了啊好开心。 代码: #include <iostream>#include <cstdio>#inclu

uva 1342 欧拉定理(计算几何模板)

题意: 给几个点,把这几个点用直线连起来,求这些直线把平面分成了几个。 解析: 欧拉定理: 顶点数 + 面数 - 边数= 2。 代码: #include <iostream>#include <cstdio>#include <cstdlib>#include <algorithm>#include <cstring>#include <cmath>#inc

uva 11178 计算集合模板题

题意: 求三角形行三个角三等分点射线交出的内三角形坐标。 代码: #include <iostream>#include <cstdio>#include <cstdlib>#include <algorithm>#include <cstring>#include <cmath>#include <stack>#include <vector>#include <

XTU 1237 计算几何

题面: Magic Triangle Problem Description: Huangriq is a respectful acmer in ACM team of XTU because he brought the best place in regional contest in history of XTU. Huangriq works in a big compa

hdu 4565 推倒公式+矩阵快速幂

题意 求下式的值: Sn=⌈ (a+b√)n⌉%m S_n = \lceil\ (a + \sqrt{b}) ^ n \rceil\% m 其中: 0<a,m<215 0< a, m < 2^{15} 0<b,n<231 0 < b, n < 2^{31} (a−1)2<b<a2 (a-1)^2< b < a^2 解析 令: An=(a+b√)n A_n = (a +

音视频入门基础:WAV专题(10)——FFmpeg源码中计算WAV音频文件每个packet的pts、dts的实现

一、引言 从文章《音视频入门基础:WAV专题(6)——通过FFprobe显示WAV音频文件每个数据包的信息》中我们可以知道,通过FFprobe命令可以打印WAV音频文件每个packet(也称为数据包或多媒体包)的信息,这些信息包含该packet的pts、dts: 打印出来的“pts”实际是AVPacket结构体中的成员变量pts,是以AVStream->time_base为单位的显

计算数组的斜率,偏移,R2

模拟Excel中的R2的计算。         public bool fnCheckRear_R2(List<double[]> lRear, int iMinRear, int iMaxRear, ref double dR2)         {             bool bResult = true;             int n = 0;             dou

微积分-积分应用5.4(功)

术语“功”在日常语言中用来表示完成一项任务所需的总努力量。在物理学中,它有一个依赖于“力”概念的技术含义。直观上,你可以将力理解为对物体的推或拉——例如,一个书本在桌面上的水平推动,或者地球对球的向下拉力。一般来说,如果一个物体沿着一条直线运动,位置函数为 s ( t ) s(t) s(t),那么物体上的力 F F F(与运动方向相同)由牛顿第二运动定律给出,等于物体的质量 m m m 与其

j2EE通用jar包的作用

原文:http://blog.sina.com.cn/s/blog_610901710101kx37.html IKIKAnalyzer3.2.8.jar // 分词器 ant-junit4.jar // ant junit antlr-2.7.6.jar // 没有此包,hibernate不会执行hql语句。并且会报NoClassDefFoundError: antlr