C++实现定积分运算

文章目录

    • 题目
    • 代码

题目

在这里插入图片描述


代码

#include <iostream>
#include <cmath>
#include <functional>using namespace std;// 定积分函数
double integrate(function<double(double)> func, double a, double b, int num_intervals) {double h = (b - a) / num_intervals;  // 计算每个小区间的宽度double result = (func(a) + func(b)) / 2.0;  // 初始化结果为端点的函数值之和的一半// 使用梯形法则进行数值积分for (int i = 1; i < num_intervals; ++i) {double x = a + i * h;result += func(x);}result *= h;  // 乘以小区间宽度得到最终结果return result;
}// 要积分的函数
double Func1(double x) {return x + 2 - x * x;
}
double Func2(double x) {return sqrt(1 - x * x) + x;
}
double Func3(double x) {double tmp = (4 - x * x);return sqrt(tmp * tmp * tmp);
}
double Func4(double x) {return sin(x);
}function<double(double)> ReturnFunc(int op) {if (op == 1) return Func1;else if (op == 2) return Func2;else if (op == 3) return Func3;else return Func4;
}int main() {int num_intervals = 1000;int op; double a, b;while (cin >> op >> a >> b) {auto f = ReturnFunc(op);double result = integrate(f, a, b, num_intervals);if (op != 4)printf("∫[%.2lf~%.2lf]f%d(x)dx=%.2lf\n", a, b, op, result);else {printf("∫[%.2lf~%.2lf]sin(x)dx=%.2lf\n", a, b, result);}}return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/312464.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用STM32实现多设备UART通信指南

本文将介绍如何在STM32上实现多设备UART通信&#xff0c;包括配置多个UART接口、数据的发送和接收&#xff0c;以及如何有效地进行多设备通信。我们将使用STM32CubeMX和HAL库来演示配置过程&#xff0c;并给出相关的示例代码和技巧。UART&#xff08;Universal Asynchronous Re…

怎么解决 Nginx反向代理加载速度慢?

Nginx反向代理加载速度慢可能由多种原因引起&#xff0c;以下是一些可能的解决方法&#xff1a; 1&#xff0c;网络延迟&#xff1a; 检查目标服务器的网络状况&#xff0c;确保其网络连接正常。如果目标服务器位于不同的地理位置&#xff0c;可能会有较大的网络延迟。考虑使用…

灸哥问答:测试架构师应该掌握哪些技能?

测试架构师是软件测试领域的高级职位&#xff0c;在承担工作时需要掌握多方面的技能和能力以确保测试过程的有效性、高效性和可靠性。从我的经历和认知角度&#xff0c;我觉得作为测试架构师应该掌握具备以下技能&#xff1a; 一、测试方法和策略 掌握不同的测试方法&#xf…

详细讲解MybatisPlus中的IService类中的CRUD功能(全)

目录 前言1. 基本概念2. CRUD2.1 插入2.1.1 save2.1.2 saveOrUpdate 2.2 删除2.3 修改2.4 查询2.4.1 get2.4.2 list2.4.3 page 2.5 chain链式函数 前言 大部分CRUD都来源这个类&#xff0c;对此有意义剖析&#xff0c;方便之后的功能开发 1. 基本概念 在 MyBatis-Plus 中&am…

7.java——异常

异常——error&#xff08;资源耗尽&#xff0c;JVM内部系统错误&#xff0c;代码一般处理不了&#xff09;和excption&#xff08;数组越界&#xff0c;空指针访问&#xff0c;代码可以处理&#xff09; java.lang.Throwable;异常体系的根父类 -------java.lang.Error:错误。…

Linux安装Oracle调用dbca无响应和密码问题

Linux服务器下调用dbca无响应&#xff0c;或弹出如下提示&#xff1a; 则需要在Linux命令行窗口&#xff0c;输入如下命令即可 export DISPLAYip:0.0 注意&#xff1a;该ip应该为可显示图形桌面的机器ip地址。 该桌面需要已经安装了Xmanager-Passive&#xff08;比如 Xmanag…

ES 通过查询更新某个字段,Error 500 (Internal Server Error)

问题描述&#xff1a; 项目中通过查询ES中某个字段&#xff0c;并更新某个值的字段&#xff0c;当量比较大的时候报错&#xff1a; upsert associated failed: elastic: Error 500 (Internal Server Error): Failed to compile inline script [ctx._source.pcap_filename ] …

vue3-12

需求是用户如果登录了&#xff0c;可以访问主页&#xff0c;如果没有登录&#xff0c;则不能访问主页&#xff0c;随后跳转到登录界面&#xff0c;让用户登录 实现思路&#xff0c;在用户登录之前做一个检查&#xff0c;如果登录了&#xff0c;则token是存在的&#xff0c;则放…

python练习2【题解///考点列出///错题改正】

一、单选题 【文件】 *1.【单选题】 ——文件&#xff1a;读取方法 下列哪个选项可以从文件中读取任意字节的内容&#xff1f;&#xff08;C &#xff09;A A.read() B.readline() C.readlines() D.以上全部 A\B\C三种方法都是可以读取文件中任意的字节内容的&#xff0…

CentOS 7 实战指南:目录操作命令详解

写在前面 想要在 CentOS 7 系统下更高效地进行目录操作吗&#xff1f;不要犹豫&#xff0c;在这里我为你准备了一篇精彩的技术文章&#xff01;这篇文章将带您深入了解 CentOS 7 下目录操作相关命令的使用方法。无论您是新手还是有一定经验的用户&#xff0c;这篇文章都将为您…

Windows电脑引导损坏?按照这个教程能修复

前言 Windows系统的引导一般情况下是不会坏的&#xff0c;小伙伴们可以不用担心。发布这个帖子是因为要给接下来的文章做点铺垫。 关注小白很久的小伙伴应该都知道&#xff0c;小白的文章都讲得比较细。而且文章与文章之间的关联度其实还是蛮高的。在文章中&#xff0c;你会遇…

lambda函数

文章目录 定义捕捉列表的形式一些更复杂的捕捉列表组合代码演示演示一演示二演示三演示四演示五演示六 lambda 函数&#xff0c;是C11中新引入的函数式编程语法&#xff0c;lambda函数可以被定义在类中成员函数内部&#xff0c;全局函数的内部。它是一个局部函数&#xff08;即…