数值积分之Simpson 3/8法则

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

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

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

using namespace std;

class simpson2
{
private:
 int n, k;
 double a, b, f, integral, interval, one_third_interval;
 double sum_term1, sum_term2, sum_term3, x;

public:
 double func(double x)
 {
  f = (5.093e-5 * exp(2 * x)) / pow((1 + x * x), 2);
  return f;
 }
 void integration();
};

void main()
{
 simpson2 simp2;
 simp2.integration();
}

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

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



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

相关文章

代码调优法则

《编程珠玑》第二版快看完了,发现附录D作者记录了一些代码调优法则,本人总结了一下,发出来给大家分享分享,顺便自己也做个笔记。(注:这篇文章是用那个markdown写的,第一次用markdown发布博客,有点小激动。) 代码调优法则 空间换时间法则 修改数据结构。为了减少数据上的常见运算所需要的时间,我们通常可以在数据结构中增加额外的信息,或者修改数据结构中的信息使之更易访问。 例如:std:

一个有效的面试——善用STAR法则

下面从两个招聘官和求职者两个维度来简单阐述: 一、对于招聘官而言 首先基于一个原理,那就是成功面试公式: 成功的面试 = 把握正确清晰的用人标准 + 挖掘真实匹配的应聘者信息                   = 以素质模型去“发问” + 用STAR方式去“追问” 那么什么是STAR行为面试法?估计很多人都知道。行为面试,也称行为事件访谈,它是一种效度较高的面试技术。在行为面试中,

PHP面向对象法则

(1)所有数据都应该隐藏在所在的类的内部。  (2)类的使用者必须依赖类的共有接口,但类不能依赖它的使用者。  (3)尽量减少类的协议中的消息。  (4)实现所有类都理解的最基本公有接口[例如,拷贝操作(深拷贝和浅拷贝)、相等性判断、正确输出内容、从ASCII描述解析等等]。  (5)不要把实现细节(例如放置共用代码的私有函数)放到类的公有接口中。  如果类的两个方法有一段公共代码,那么就可以创建

一、工具简介、基本界面和编程模式(包括命名法则)

1.   VS2008工具栏的调整:        a. 在菜单栏(就是有文件、编辑等选项的一行)或者工具栏(菜单栏下面一行)的空白位置右键即可自由添加(也可以选择自定义);        b. VC++6.0调整工具栏的方式和VS2008相同,这不过添加之后都是以浮动窗口的形式显示,关闭后还是可以用相同的方式进行添加;        2.   VS2008集成环境中视图窗口的调整:

SWT中的Dispose操作法则

法则一:如果你创建了他,那么就要释放他 在本章节的前一部分,你知道了创建SWT控件,相应的本地控件也被创建了。也就是说,调用了SWT的构造函数,底层的本地资源也被创建了。所以如果你写下如下代码,那么你就创建了一个SWT颜色对象,那么也就在系统的底层资源里分配了一个颜色资源: Color color = new Color(display, 255, 0, 0); // Create a red C

十进制转二进制的计算法则

1、手动计算 计算规则:十进制整数转换为二进制整数采用"除2取余,逆序排列"法。 具体做法:用2整除十进制整数,可以得到一个商和余数;再用2去除商,又会得到一个商和余数,如此进行,直到商为小于1时为止,然后把先得到的余数作为二进制数的低位有效位,后得到的余数作为二进制数的高位有效位,依次排列起来。 以254为例: 254/2=127........0 127/2=63..........

设计模式 - 迪米特法则

定义 只与你的直接朋友交谈,不跟“陌生人”说话(朋友:当前对象本身、当前对象的成员对象、当前对象所创建的对象、当前对象的方法参数等,这些对象同当前对象存在关联、聚合或组合关系,可以直接访问这些对象的方法。) 作用:迪米特法则要求限制软件实体之间通信的宽度和深度 降低了类之间的耦合度,提高了模块的相对独立性。由于亲合度降低,从而提高了类的可复用率和系统的扩展性。 实现方法 在类的划分上,应

设计模式和原则系列主题:如何利用迪米特法则实现“高内聚、低耦合”?

本文转自:JavaEdge 目录 1 何为“高内聚、低耦合”? 1.1  高内聚 1.2  低耦合 1.3  “内聚”和“耦合”的关系 2 迪米特法则 3 案例 3.1 不该有直接依赖关系的类之间,不要有依赖 3.2 有依赖关系的类之间,尽量只依赖必要的接口。 4 总结 4.1 高内聚、低耦合 4.2 迪米特法则 1 何为“高内聚、低耦合”? “高内聚、低耦合”能有

6大设计原则(五)---迪米特法则

英文名称:Low of Demeter,LoD  定义:一个对象应该对其他对象有最少的了解。只与直接的朋友通信。  朋友关系:每个对象都必然会与其他对象有耦合关系,两个对象之间的耦合就称为朋友关系。  我的理解:迪米特法则定义的是类之间的关系要尽量低耦合,一个类中的朋友不要太多,  这样在后期代码维护或更改时需要修改的地方也就不会太多了。 一个例子:  体育老师要求班长清点女生的人数。

数值积分之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_t