链接:https://blog.csdn.net/chen_dsir/article/details/71257631  博主详细介绍了复合梯形公式,

链接:https://wenku.baidu.com/view/b300c53deefdc8d376ee3228.html 详细介绍了变步长的目的,以及变换的方式

下面求解如下问题:

1、变步长:

由于多数情况下,并不知道步长设置为多少合适,所以我们可以设置一个初始步长,求解一次,再把步长变为原来的一半,依次接下去,直到达到我们所需的精度。

2、代码:

#include<stdio.h>
#include<math.h>#define left 1.0   //左端的值
#define right 3.0   //右端的值
#define  precision 0.0001   //定义精度 double f(double x)
{double m=100/(x*x)*sin(10/x);return m;
}int main()
{int i;int step=100;  //初始化步数double stepLength=(right-left)/step; //步长double T=f(left)+f(right);   //积分的值 for(i=1;i<=step-1;i++) {double x=left+i*stepLength;T+=2*f(x);}T=stepLength/2*T;  //符合梯形公式求解结果printf("初始步长得到的积分值:%lf   所分的区间个数:%d\n",T,step);//下面改变步长,来细化精度double T1=T+100;double T2=T;double H;      //减小步长后得到的积分值 while(fabs(T1-T2)>precision/2) {T1=T2;step=step*2;stepLength=(right-left)/step; H=0;for(i=1;i<step;i++){H+=2*f(left+stepLength*i);}H=f(left)+f(right)+H;H=H*stepLength/2;     T2=(T1+H)/2;    //将上次一的积分结果和减小步长后的积分结果求均值 } printf("初始步长得到的积分值:%lf   所分的区间个数:%d\n",T2,step);}

3、结果:

4、验证:

C语言实现变步长求积分算法相关推荐

  1. VS2017/c语言-求积分算法

    用c语言计算积分 一.积分计算原理 先把积分区域划分为n个曲边梯形,每个求值点为曲边梯形的两个底边中点,求得每个曲边梯形的面积即为积分值 用近似法求得积分:当n为无穷大时,可将该曲边梯形近似看成矩形, ...

  2. Romberg求积分算法

    // Integral-romberg方法求积分.cpp : 定义控制台应用程序的入口点. // /* romberg方法求积分 方法也称为逐次分半加速法.它是在梯形公式,simpson公式和newt ...

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

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

  4. 龙贝格求积分算法例题_数值分析实习作业之龙贝格求积

    北京化工大学数值分析,龙贝尔求积, 实习题五:用龙贝格求积公式法计算习题五第一题积分,是结果尽可能准确(eps = 0.000001) 主程序: %习题五:用龙贝格求积公式计算下列积分 clear c ...

  5. C++实现复化辛普森公式求积分算法

    1. 算法原理简介 步1 将积分区间 [a,b] 分成 n 等分,分点为 xk=a+kh(k=0,1,⋯,n),其中 h=(b-a)/n. 步2 记区间 [xk,x(k+1)] 的中点为 x(k+1/ ...

  6. 抛物线求积公式求积分算法matlab,基于Matlab的数值积分公式问题.doc

    基于Matlab的数值积分公式问题 数值分析 学 号: 学 生 姓 名 :教 师 : 教师 2数值积分算法介绍............................................. ...

  7. 抛物线求积公式求积分算法matlab,数值计算实验报告---复合求积公式(梯形、抛物线、龙贝格)、导数求值(三点、四点、五点公式)...

    ----------------------个人作业,如果有后辈的作业习题一致,可以参考学习,一起交流,请勿直接copy ··复合抛物线公式: ··龙贝格公式: 四.实验内容 ------1 实验题目 ...

  8. c语言分桃分题设计思路,C语言实现的猴子分桃问题算法解决方案

    本文实例讲述了C语言实现的猴子分桃问题算法.分享给大家供大家参考,具体如下: 问题: 海滩上有一堆桃子,五只猴子来分.第一只猴子把这堆桃子凭据分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份 ...

  9. matlab用辛普森公式求积分_数值计算实验9 数值积分实验

    实验9 数值积分实验 成绩 实验类型:●验证性实验  ○综合性实验  ○设计性实验 实验目的:进一步熟练掌握变步长数值积分算法,提高编程能力和解决定积分问题的实践技能. 实验内容:用龙贝格积分算法计算 ...

最新文章

  1. 基于现有工程解读stm32的工程文件
  2. python继承父类的调用
  3. LinkedBlockingQueue的put,take方法
  4. 使用Spring WebFlux构建反应性REST API –第1部分
  5. centos7.2 安装poco
  6. 重新想象 Windows 8.1 Store Apps (85) - 警报通知(闹钟), Tile 的新特性
  7. react+redux+antd图书管理系统学习
  8. pytorch中的gather函数_Pytorch中Emdedding函数的解释及使用方法
  9. SQL Server中的计算列概述
  10. 没有用户的可用性测试
  11. Python学习笔记九:文件I/O
  12. 成考java_成考本科课程:《Java程序设计》
  13. Linux 日志查看命令journalctl
  14. NPOI实现Word表格新增一行
  15. webgame《天龙诀》完整网页游戏源码
  16. R语言条形图 bar chart
  17. win10和win7两个计算机相连,详解win10两台电脑网线直连的操作方法
  18. 英语四级计算机二级的微信推文,简明·实用 | 瞬间高大上的微信公众号推文制作...
  19. OUC离散数学II实验二(Python+Cpp)
  20. kingcms php 排序 标签,kingcms全部标签使用教程

热门文章

  1. maven-source 1.3 中不支持注释请使用 -source 5 或更高版本以启用注释
  2. MyBatis根据数组、集合查询
  3. ACM/ICPC2014鞍山现场赛E hdu5074Hatsune Miku
  4. flume ng之组件介绍
  5. gitlab新增ssh
  6. android 官方DrawerLayout的介绍和使用
  7. rails.vim环境安装(ubuntu)
  8. 异步/同步、阻塞/非阻塞的理解
  9. 阳光与阴谋:从投资者角度看理财周报-赛迪事件
  10. 向上取整的方法_瓷砖测量的方法有哪些?瓷砖尺寸一般是多少?