微积分近似计算公式,可以帮助我们在不了解积分原函数的情况下,即无法采用牛顿-莱布尼茨公式求解微积分,可以采用一些近似计算公式来获得近似结果:

中点公式:

function res = mid(f,a,b)res = (b - a) * feval(f, 0.5 * (a + b));
end

梯形公式:

function res = trapz(f,a,b)res = 0.5 * (b - a) * (feval(f,a) + feval(f,b));
end

辛普森公式:

function res = simpson(f,a,b)res = 1 / 6 * (b - a) * (feval(f,a) + 4 * feval(f,0.5 * (a + b)) + feval(f,b));
end

在以上公式的基础上,采用定步长分段来近似计算微积分结果:

复合中点公式:

function res = fmid(f,a,b,n)h = (b - a) / n;x = linspace(a + h / 2,b - h / 2,n);y = feval(f,x);res = h * sum(y);
end

复合梯形公式:

function res = ftrapz(f,a,b,n)h = (b - a) / n;x = linspace(a,b,n + 1);y = feval(f,x);res = 0.5 * h * (y(1) + 2 * sum(y(2:n)) + y(n + 1));
end

复合辛普森公式:

function res = fsimpson(f,a,b,n)h = (b - a) / n;x = linspace(a,b,2 * n + 1);y = feval(f,x);res = (h / 6) * (y(1) + 2 * sum(y(3:2:2 * n - 1)) + 4 * sum(y(2:2:2 * n)) + y(2 * n + 1));
end

我们采用一个简单测试函数,来验证一下近似公式的精度:

function testa = 2;b = 20;f = @(x) x.^(-1);n = 50;true_val = log(b) - log(a);mid_val = mid(f,a,b);trapz_val = trapz(f,a,b);simpson_val = simpson(f,a,b);fmid_val = fmid(f,a,b,n);ftrapz_val = ftrapz(f,a,b,n);fsimpson_val = fsimpson(f,a,b,n);
end

精度如下:

true 2.302585092994046
mid 1.636363636363637
trapz 4.950000000000000
simpson 2.740909090909091
fmid 2.301256120284895
ftrapz 2.305249476494972
fsimpson 2.302587239021587

复合辛普森公式的近似精度还是比较高的

微积分近似计算公式:中点、梯形、辛普森相关推荐

  1. 梯形法 微积分 c语言,关于 用辛普森法和梯形法求微积分的 程序!

    共回答了8个问题采纳率:87.5% 1. 目的: (1)通过求定积分的程序设计,使学生理解和掌握C++语言的函数.函数指针等设计方法,培养学生综合利用C++语言解决数学计算问题,使学生将所学知识转化为 ...

  2. 圆周率近似计算公式--python实现

    pi = 0 N = 100 for k in range(N):pi += 1/pow(16,k)*(\4/(8*k+1)- 2/(8*k+4) -\1/(8*k+5)-1/(8*k+6)) pri ...

  3. C语言e的x次方近似计算公式

    题干: 编写程序利用公式:ex=1+x+x2/2!+x3/3!+......+xn/n! 求得近似值 呜呜呜 ,没错,上面这个就是高数要学的泰勒展开公式 这不就提前记住了嘛,内卷还是我在行 哈哈哈,来 ...

  4. 数值积分: 梯形规则--复合梯形规则--辛普森规则--复合辛普森规则--龙贝格求积公式

    数值积分:梯形规则--复合梯形规则--辛普森规则--复合辛普森规则--龙贝格求积公式 1.问题描述 微积分方法求积有很大的局限性,当碰到被积函数很复杂时,找不到相应的原函数.积分值 在几何上可解释为由 ...

  5. 数值计算与MATLAB微积分

    目录 前言 数值微分 导数的差分公式 偏微分的差分公式 数值积分 微分运算 积分运算 符号工具箱 总结 前言 本文主要介绍了数值微分.数值积分的方法,以及MATLAB利用数值微积分方法进行微积分运算的 ...

  6. 工程数学(数值分析)第六讲:数值微积分

    文章目录 第六讲:数值微积分 二点.三点数值微积分求导数 定步长梯形求积公式 变步长梯形求积公式 定步长.变步长辛普森求积公式 第六讲:数值微积分 二点.三点数值微积分求导数 定步长梯形求积公式 变步 ...

  7. 高等数学:第五章 定积分(1)概念与性质 中值定理 微积分基本公式

    §5.1  定积分的概念 一.从阿基米德的穷竭法谈起 [引例]从曲线与直线,, 所围图形的面积. 如图:在区间  上插入  个等分点 ,得曲线上点 ,过这些点分别向轴,轴引垂线,得到阶梯形.它们的面积 ...

  8. 【计算方法】数值微积分

    0.WARNINGS 本文章主要适用于计算方法代码的实现参考,由于本人是python究极小白,为了实验课速成了一些内容,因此会包含较多的暴力解法orz,如有代码错误.可优化的地方欢迎各位大佬指出,感激 ...

  9. 迭代算法8——近似迭代法之求定积分

    求定积分 [分析] 定积分 的几何意义就是求曲线f(x)与y=0,x=a,x=b所围成的曲顶梯形的面积.为了得到定积分的值,需要将连续的对象分割为容易求解的子对象,然后利用迭代法对表达式反复操作.求定 ...

最新文章

  1. WKWebView Safari调试、JS互调、加载进度条、JS中alert、confirm、prompt
  2. 转 LIST INCARNATION OF DATABASE
  3. linux下利用valgrind工具进行内存泄露检测和性能分析
  4. k近邻推荐用到的各种距离
  5. 用vim替代source insight
  6. mysql 5.7配置项最详细的解释
  7. 阿里系多个产品线宕机,包括1688、淘宝、天猫、淘宝直播、闲鱼……
  8. 前后端鉴权之session-cookie
  9. 一万年太久只争朝夕:从灯泡的寿命谈截尾样本的基础知识
  10. 后台得到ajax传来的参数,几种ajax传参数到后台获取的方法
  11. docker部署minio分享图片链接ip问题
  12. linux安装pycuda报错 517
  13. [Algorithmic Toolbox学习笔记][week6]Placing Parentheses
  14. 拿下Facebook黑客杯四冠王!与Jeff Dean相提并论...ACM竞赛之神的传奇前半生
  15. java取模数,Java中的模数
  16. Excel如何批量修改工作表名称
  17. 个人理财小助手 —— 数据库(二)
  18. 解决苹果手机点击输入框页面自动放大问题
  19. 数据结构__树的学习及宠物店功能实现
  20. android 微信抢红包软件

热门文章

  1. word中添加Mathtype公式行间距改变问题
  2. PCF8951读程序
  3. 算法手札二:红黑树的插入原理,原理与实现篇
  4. Ubuntu安装qt4.8.6步骤
  5. Matlab输入矩阵
  6. 222. 解决error pulling image configuration: Get https://production.cloudflare.docker.com/registry-v2/d
  7. 2013年03月05日
  8. 用matlab做巴特沃斯低通滤波器
  9. 高压电工作业考试试题
  10. 在线问答与科学管理系统