数值积分之Simpson 1/3法则

2024-06-06 15:38
文章标签 法则 数值积分 simpson

本文主要是介绍数值积分之Simpson 1/3法则,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

//实现Simpson 1/3法则
#include <iostream>
#include <math.h>

using namespace std;

class simpson
{
private:
 int n, k;
 double a, b, f, half_interval, integral, interval, sum_even_terms;
 double sum_odd_terms, x;

public:
 double func(double t)
 {
  f = 2e3 * log(1e5 / (1e5 - 2e3 * t)) - 10 * t;
  return f;
 }
 void integration();
};

void main()
{
 simpson simp;
 simp.integration();
}

void simpson::integration()
{
 cout << "\n输入上限和下限:";
 cin >> b >> a;
 cout << "\n输入你要使用simpson法则的数目(即等分数):";
 cin >> n;
 interval = (b - a) / n;
 half_interval = interval / 2.0;
 sum_even_terms  = 0.0;
 sum_odd_terms = 0.0;
 for (k = 1; k < n; k++)
 {
  x = a + k * interval;
  sum_even_terms += func(x);
  sum_odd_terms += func(x + half_interval);
 }
 integral = (2.0 * sum_even_terms + 4.0 * sum_odd_terms - func(a) + func(b)) * half_interval / 3.0;
 cout << endl << "积分值 = " << integral << endl;
}

这篇关于数值积分之Simpson 1/3法则的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

设计模式之禅5:迪米特法则

https://www.cnblogs.com/zh7791/p/7922960.html 定义: 一个对象应该对其他对象保持最少的了解。 问题由来: 类与类之间的关系越密切,耦合度越大,当一个类发生改变时,对另一个类的影响也越大。 解决方案: 尽量降低类与类之间的耦合。   PS:   自从我们接触编程开始,就知道了软件编程的总的原则:低耦合,高内聚。 无论是面向过程编程还

GameFi生存法则:从巨头争霸到小游戏革命,掀起区块链游戏的全新风暴

随着区块链技术的飞速发展,GameFi(游戏与去中心化金融的结合)正成为加密世界的一个重要领域。然而,随着时间的推移,这一领域也经历了显著的演变,从最初的3A大作到如今流行的Telegram小游戏,这种变化不仅反映了市场需求的转变,也揭示了GameFi如何在生存与繁荣之间找到平衡。 一、GameFi 的演变:从 3A 大作到 Telegram 小游戏 不同类型 GameFi 项目的优劣 Ga

阿姆达尔定律 是什么 Amdahl 并行效率计算经验法则

阿姆达尔定律(Amdahl) 是计算机界的一个经验法则。是以计算机科学家吉恩·阿姆达尔来命名的。 它表示串行执行的计算机程序在并行执行后效率的 提升。 它给 出了使用并行处理理论上能带来的效率提高。 考虑运行在单核处理器上的一个程序。在执行时间上来说,“f”是并行计算部分执行时间所占比 例,所以(1-f)是串行处理部分所占比例。 如果有“m”个处理器并行运行,那理论上的优化空 间计算如下

洛必达法则理解

f(x)/g(x) 当f(x) = g(x) = 0的时候 f(x) ~= df(x)dx g(x) ~= dg(x)dx f(x)/g(x) ~= df(x)/dg(x)

python 实现simpson rule辛普森法则算法

simpson rule辛普森法则算法介绍 辛普森法则(Simpson’s rule)是一种数值积分方法,用于估计函数在给定区间上的定积分。该方法利用二次函数来逼近被积函数,从而得到更准确的积分估计。 辛普森法则的算法通常将积分区间[a,b]划分成n个小区间(n为偶数),每个小区间的长度为h=(b−a)/n。然后,它使用三个点(区间开始、中间和结束)的函数值来近似每个小区间上的积分,并累加这些

英语钻石法则(二)------没必要专门的学习语法

钻石法则二:没必要专门的学习语法 前言:     如果你是海归学霸或者你现在就能很流利的讲一口漂亮、自信的英语了,你可以回想一下你自己第二语言积累的 历程,希望可以分享给更多的人;如果你想早日讲一口流利的英语,下文将会给你一些启迪:   在你阅读这篇文章之前,我想于一个问题开始:

导数的基本法则与常用导数公式的推导

目录 n 次幂函数导数公式的推导导数和的运算法则的证明正弦、余弦函数导数公式的推导代数证明两个重要极限(引理)及证明具体推导 几何直观 导数积的运算法则的证明导数商的法则的证明链式法则的证明有理幂函数求导法则的证明反函数求导法则的证明反正切函数导数公式的推导指数函数导数公式的推导引入证明第一种方法:代入消元第二种方法:对数微分 幂指函数导数公式的推导幂法则(The Power Rule)的

设计模式 -- 七大原则(六)-- 迪米特法则

1 基本介绍 一个对象应该对其他对象保持最少的了解 类与类关系越密切,耦合度越大 迪米特法则(Demeter Principle)又叫最少知道原则,即一个类对自己依赖的类知道的越少越好。也就是说,对于被依赖的类不管多么复杂,都尽量将逻辑封装在类的内部。对外除了提供的 public 方法,不对外泄露任何信息 迪米特法则还有个更简单的定义:只与直接的朋友通信,其中“朋友”包括当前对象本身、