C++实现复化梯形公式求积分算法

2023-10-26

1. 算法原理简介

步1 将积分区间2n等分;
步2 调用复化梯形公式:
在这里插入图片描述

2. 应用实例

取 n=10,利用复化梯形公式计算积分:
在这里插入图片描述

3. 程序代码
#include <iostream>
#include <cmath>
using namespace std;

double X[1000];//保存生成的节点横坐标
double Y[1000];//保存生成的节点纵坐标

//定义一个数学函数
double fun(double x)
{	
    return 4 / (1 + x * x);
}

//分割区间
void Devide(double a, double b, int N)
{	
    double x;	
    double dx= (b - a) / (N);	
    for (int i = 0; i <= N; i++)	
    {		
        x = a + i * dx;		
        X[i] = x;		
        Y[i] = fun(x);	
    }
}

//复化梯形求积
double GetIntegralValue(double a, double b, int N)
{	
    double sum = 0;	
    double value;	
    //求2*f(xk)的总和,1<= k <= n-1	
    for (int i = 1; i <= N - 1; i++)	
    {		
        sum += 2 * Y[i];
    }	
    value = 0.5 * ((b - a) / N) * (Y[0] + sum + Y[N]);	
    return value;
}

int main()
{	//产生的节点数	
    double a = 0;	
    double b = 1;	
    int N=10;	
    cout << "被积函数 f = 4 / (1 + x * x)" << endl;	
    cout << "区间等分数为 10" << endl;	
    cout << "积分区间为(0,1)" << endl;	
    Devide(a, b, N);	
    cout << "积分值为:" << GetIntegralValue(a, b, N) << endl;	
    return 0;
}
4. 运行结果

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C++实现复化梯形公式求积分算法 的相关文章

随机推荐

  • 【QT学习】如何将一个QT的pro工程(qmake编译)移植变成一个cmake编译的工程

    1 背景 之前使用qt自带的编译方式 qmake的方式 编写运行qt程序 但是最近要跟ros框架的其他程序进行通讯要使用ros topic订阅发布 必须用msg 有些msg不能简单的使用std标准消息需要自己定义 但是qmake的方式不支持
  • Python 元组(Tuple)操作详解

    一 创建元组 代码如下 tup1 physics chemistry 1997 2000 tup2 1 2 3 4 5 tup3 a b c d 创建空元组 代码如下 tup1 元组中只包含一个元素时 需要在元素后面添加逗号来消除歧义 代码
  • 启动vmware虚拟机报错

    找到此系统的安装目录中后缀为 lck的文件或目录 将其删除或更改后缀就可以启动了
  • 第七周7.1数组运算课堂学习记录 求素数的方法改进/优化集锦《程序设计入门——C语言》第七期 浙江大学 翁恺

    求素数基本方法及优化 1 基本方法求素数 从2到x 1测试是否可以整除 对于n来说要走n 1遍 n很大时相当于 n 遍 include
  • GGally与pairs相关关系图_史上最全(一)

    作者 李誉辉 四川大学在读研究生 简介对于多个变量之间的相关关系 常常使用相关关系图来可视化 R自带有pairs 函数 可以画相关关系图 但是比较复杂 我们先介绍基于ggplot2的GGally包 等介绍完 再介绍pairs 函数 1 gg
  • 对部门的建议和期待怎么写_个人、项目、部门工作总结怎么写?给你三个模板...

    点击 免费订阅 商务合作QQ 493509007 工作中我们每周 每月 每年都要做总结 那么怎样才能做好总结呢 给大家三个模板 分别为个人工作 年 月 总结 项目 周 月 年 总结 部门 月 年 总结 一 个人 年 月 总结 1 计划的完成
  • 欢迎加入Java私活外包QQ群

    hi 最近有个两个Java项目需要找兼职程序员合作 要求至少会下面一项技术 1 JSP Servlet JDBC Tomcat 2 MongoDB 3 MySQL 4 Docker 5 Redis 6 Vertx 7 测试技术 压力测试 安
  • Protobuf C++ 版入门Demo

    Protobuf C 版入门Demo 前言 有关其编译和安装请查看 Protobuf C 版编译安装和简单使用 之前已经进行了编译安装 并且成功将已知的proto文件转化为cc和h 本文简单探讨如何使用Protobuf进行数据写入和读取 也
  • 使用three.js在Vue中创建3D图

    使用three js创建3D图 1 电梯 注意 只为自己做笔记用的 全部是收藏的博客地址当电梯用 1 电梯 1 展示 https wow techbrood com fiddle 34388 闪光球 https blog csdn net
  • 字典树(介绍+实现+例题)

    字典树 介绍 字典树也叫前缀树 Trie树等 字典树是一颗非典型的多叉树模型 字典树的结点包含有一个长度为26的指针数组 分别对应26个字母 指向当前字母对应的下一个字母 字典树充分利用了字符串的公共前缀 包含三个单词 sea sells
  • 【华为OD统一考试B卷

    在线OJ 已购买本专栏用户 请私信博主开通账号 在线刷题 运行出现 Runtime Error 0Aborted 请忽略 华为OD统一考试A卷 B卷 新题库说明 2023年5月份 华为官方已经将的 2022 0223Q 1 2 3 4 统一
  • 多线程如何在 C 中实现?

    多线程 英语 multithreading 是指从软件或者硬件上实现多个线程并发执行的技术 具有多线程能力的计算机因有硬件支持而能够在同一时间执行多于一个线程 进而提升整体处理性能 具有这种能力的系统包括对称多处理机 多核心处理器以及芯片级
  • java内存马查杀工具

    java memshell scanner 扫描java内存马
  • 模版之AnyType

    title 模版之AnyType date 2023 02 19 21 49 53 permalink pages 54a0bf categories 通用领域 编程语言 C tags C 元编程 author name zhengzhib
  • Java里NonNull和NotNull

    https blog csdn net yangyangrenren article details 121180269 lombok NonNull 这个 annotation 是 lombok 提供的 根据官方的解释可以看出它是用来辅助
  • 华为OD机试 - 组成最大数(Java)

    题目描述 小组中每位都有一张卡片 卡片上是6位内的正整数 将卡片连起来可以组成多种数字 计算组成的最大数字 输入描述 号分割的多个正整数字符串 不需要考虑非数字异常情况 小组最多25个人 输出描述 最大的数字字符串 用例 输入 22 221
  • Pycharm 交互式Console BUG问题解决 - OSError: [Errno 22] Invalid argument: ‘D:\pyCHram\<input>‘

    引言 Pycharm python console是一个很好用的交互式编程栏 但是在跑一些深度学习模型的时候 偶尔会发生类似于这种错误的报错 导致无法在交互式的Python console模式下运行测试代码 Pycharm 问题解决 OSE
  • 攻防世界NewsCenter思路

    打开环境后发现是这样一个页面 考虑到xss或者sql注入 尝试了alert无果 便试试sql注入 随便输入aaa后使用burp抓包 将这些保存在1 txt里 用sqlmap抓包 命令 sqlmap py r 1 txt dbs 这里看到一个
  • U-Boot相关命令开发板烧写问题及解决方案

    前言 最近在学习u boot命令在开发板的烧写 在进行该实验的过程中 出现了很多问题和错误 在这里我根据自己的开发历程 将我出现的几大问题进行了汇总 并附有相关解决办法 这些解决方案都经过我亲自验证有效 希望能让大家在开发过程中有所启发 问
  • C++实现复化梯形公式求积分算法

    1 算法原理简介 步1 将积分区间2n等分 步2 调用复化梯形公式 2 应用实例 取 n 10 利用复化梯形公式计算积分 3 程序代码 include