【问题描述】利用递归梯形公式,在区间[0, pi/2]范围内连续增加子区间来求函数f(x)=(x^2+x+1)cos(x)的积分近似值。起始时子区间个数为1,每次迭代,子区间个数增加一倍。一直迭代,直到积分近似值与真实值的差的绝对值小于给定的阈值为止,在区间[0, pi/2]范围内函数积分真实值为2.038197427067。

【输入形式】在屏幕上输入所求积分的精度值d。

【输出形式】输出迭代次数,以及积分近似值(保留d位小数)。

【样例1输入】

2

【样例1输出】

4

2.03

【样例1说明】

输入:在屏幕上输入所求积分的精度值d=2,从而计算得到阈值为10^(-2)=0.01。

输出:经过4次迭代,得到满足精度要求的积分近似值为2.03。

【评分标准】根据输入得到的输出准确

#include<iostream>
#include<cmath>
#include<iomanip>
#define pi 3.1415926
using namespace std;
double a = 0, b = pi / 2;//积分上限、下限
double n;//积分近似值
int d;//精度值
double D;
int maxx = 1000;//最大迭代次数
int p = 0;//记迭代次数,初始设为0
double c = 2.038197427067;
double f(double x)//函数
{return (pow(x, 2) + x + 1) * cos(x);
}
void zuti(double D)
{//m是等距子区间个数 ,起始时是1,所以m从1开始for (int m = 1; m < maxx; ){p++;//p用来记迭代次数//下面是一般的组合梯形公式double h = (b - a) / m;double nn = 0;double x;for (int i = 1; i < m; i++)//i属于1~m-1{x = a + h * i;nn += f(x);}nn = h * (f(a) + f(b)) / 2 + h * nn;m=m*2;//每次迭代,子区间个数增加一倍//判断是否结束,跳出循环迭代if (fabs(nn - c) < D){cout << p-1 << endl;cout << fixed<< setprecision(d)<<nn;break;}}}
int main()
{cin >> d;D = pow(10, (-d));//D=0.01zuti(D);return 0;
}

55(数值积分)递归梯形公式相关推荐

  1. 【数值分析实验MATLAB】数值积分:梯形公式、辛普森公式、复化梯形公式、复化辛普森公式、龙贝格算法、自适应求积方法

    (1)Matlab代码: f1: if x==0y=1; else%y=exp(-x^2);y=(sin(x))/x; end 梯形公式: a=0; b=1; tx=(b-a)/2*(f1(a)+f1 ...

  2. 数值积分计算方法——《数值计算方法》

    <数值计算方法>系列总目录 第一章 误差序列实验 第二章 非线性方程f(x)=0求根的数值方法 第三章 CAD模型旋转和AX=B的数值方法 第四章 插值与多项式逼近的数值计算方法 第五章 ...

  3. Java基础知识强化之IO流笔记13:递归之不死神兔问题(斐波那契数列)

    1.这个问题是如下的:    有一对兔子,从出生后第3个月起,每个月都生一对兔子,小兔子长到第3个月又生一对兔子,加入兔子都不死,问第20个月兔子的对数? 分析:我们找规律 兔子对数 第1个月:   ...

  4. python--14 递归

    递归是神马 >>> def recursion(): ... recursion() ... >>> recursion() Traceback (most rec ...

  5. 数值计算方法 数值积分(伪代码 c/c++ python)

    数值计算方法 求解数值积分 使用梯形公式,中矩形公式和辛普森公式,并提供三个公式的复化求积法. fun (input x) //函数return sqrt(x)trapezium_formula(in ...

  6. 检测器:用递归特征金字塔和可切换的阿托洛斯卷积检测物体

    Abstract 许多现代的目标探测器都采用了"三思"机制,表现出了优异的性能.本文将此机制应用于目标检测的主干设计中.在宏层次上,我们提出了递归特征金字塔,它将来自特征金字塔网络 ...

  7. 斐波那契数列(递归+源码+注释)

    斐波那契数列(递归+源码+注释) 公元 1202 年,意大利数学家莱昂纳多·斐波那契提出了具备以下特征的数列: 前两个数的值分别为 0 .1 或者 1.1: 从第 3 个数字开始,它的值是前两个数字的 ...

  8. MySql 实现递归with recursive

    MySQL版本8.0.21-2 递归方式生成一个临时表tmp,且填充了10条数据 WITH recursive tmp ( a, b ) AS (SELECT1,'2022-01-01' UNION ...

  9. C语言-青蛙跳台阶问题【递归+非递归】

    青蛙跳台阶问题[递归+非递归] 问题描述 分析 递归实现 非递归实现 问题描述 一只青蛙一次可以跳上 1 级台阶,也可以跳上2 级.求该青蛙跳上一个n 级的台阶总共有多少种跳法. 分析 n - 台阶数 ...

最新文章

  1. 实现超长焦梦想的捷径——试用适马150-500毫米F5-6.3 OS镜头
  2. excel求期望_商务数据分析考试:决策树分析(Excel)-安聪
  3. mysql5.7.25my.ini_mysql5.7 没有my.ini 的解决办法
  4. 使用ToughMySQL为ToughRADIUS系统提供数据存储
  5. C# Task和async/await详解
  6. 想学人工智能从哪入手?
  7. 第六篇:汇编基础指令讲解
  8. linux pclint配置_静态分析工具PC-lint Plus使用教程:安装与配置
  9. java 幸运大转盘_幸运大转盘抽奖 抽奖算法 程序实现逻辑
  10. matplotlib4 --设置line的属性, color,linestyle, linewidth, marker等
  11. 图片边框变圆圈html,css如何设置边框的圆角样式?border-radius属性设置圆角样式(图 文)...
  12. 华为交换机设置ACL时间控制
  13. 打印1000~2000年之间的闰年
  14. ssm 微信扫码支付
  15. BurpSuite实战十九之XSS检测实战
  16. 1099端口占用问题解决方案
  17. 计算机监控系统应用前景和发展趋势,计算机控制技术的现状及发展趋势
  18. Spark - OnYARN 模式搭建,并使用 Scala、Java、Python 三种语言测试
  19. 阿里云ECS服务器优惠券领取开通
  20. 关于android手游Sdk开发的专题(一)

热门文章

  1. 设计模式 - 责任链模式
  2. Cesium-GeoServer发布WMTS服务与加载
  3. LeetCode 142.环形链表||(中等)
  4. php我的世界网页地图,盘点我的世界五大美丽的地图,第五个简直美翻了!
  5. 使用 CV2库进行摄像头照片获取
  6. Hadoop HDFS数据仓库技术
  7. JAVA模拟肯德基点餐系统源码,肯德基点餐界面MFC
  8. 导航电子地图的一些研究主题与核心问题
  9. 8通道汽车示波器模块(型号:PQ185)
  10. trueOS能装linux软件,基于TrueOS友好型桌面操作系统GhostBSD