微积分近似计算公式:中点、梯形、辛普森
微积分近似计算公式,可以帮助我们在不了解积分原函数的情况下,即无法采用牛顿-莱布尼茨公式求解微积分,可以采用一些近似计算公式来获得近似结果:
中点公式:
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 |
复合辛普森公式的近似精度还是比较高的
微积分近似计算公式:中点、梯形、辛普森相关推荐
- 梯形法 微积分 c语言,关于 用辛普森法和梯形法求微积分的 程序!
共回答了8个问题采纳率:87.5% 1. 目的: (1)通过求定积分的程序设计,使学生理解和掌握C++语言的函数.函数指针等设计方法,培养学生综合利用C++语言解决数学计算问题,使学生将所学知识转化为 ...
- 圆周率近似计算公式--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 ...
- C语言e的x次方近似计算公式
题干: 编写程序利用公式:ex=1+x+x2/2!+x3/3!+......+xn/n! 求得近似值 呜呜呜 ,没错,上面这个就是高数要学的泰勒展开公式 这不就提前记住了嘛,内卷还是我在行 哈哈哈,来 ...
- 数值积分: 梯形规则--复合梯形规则--辛普森规则--复合辛普森规则--龙贝格求积公式
数值积分:梯形规则--复合梯形规则--辛普森规则--复合辛普森规则--龙贝格求积公式 1.问题描述 微积分方法求积有很大的局限性,当碰到被积函数很复杂时,找不到相应的原函数.积分值 在几何上可解释为由 ...
- 数值计算与MATLAB微积分
目录 前言 数值微分 导数的差分公式 偏微分的差分公式 数值积分 微分运算 积分运算 符号工具箱 总结 前言 本文主要介绍了数值微分.数值积分的方法,以及MATLAB利用数值微积分方法进行微积分运算的 ...
- 工程数学(数值分析)第六讲:数值微积分
文章目录 第六讲:数值微积分 二点.三点数值微积分求导数 定步长梯形求积公式 变步长梯形求积公式 定步长.变步长辛普森求积公式 第六讲:数值微积分 二点.三点数值微积分求导数 定步长梯形求积公式 变步 ...
- 高等数学:第五章 定积分(1)概念与性质 中值定理 微积分基本公式
§5.1 定积分的概念 一.从阿基米德的穷竭法谈起 [引例]从曲线与直线,, 所围图形的面积. 如图:在区间 上插入 个等分点 ,得曲线上点 ,过这些点分别向轴,轴引垂线,得到阶梯形.它们的面积 ...
- 【计算方法】数值微积分
0.WARNINGS 本文章主要适用于计算方法代码的实现参考,由于本人是python究极小白,为了实验课速成了一些内容,因此会包含较多的暴力解法orz,如有代码错误.可优化的地方欢迎各位大佬指出,感激 ...
- 迭代算法8——近似迭代法之求定积分
求定积分 [分析] 定积分 的几何意义就是求曲线f(x)与y=0,x=a,x=b所围成的曲顶梯形的面积.为了得到定积分的值,需要将连续的对象分割为容易求解的子对象,然后利用迭代法对表达式反复操作.求定 ...
最新文章
- WKWebView Safari调试、JS互调、加载进度条、JS中alert、confirm、prompt
- 转 LIST INCARNATION OF DATABASE
- linux下利用valgrind工具进行内存泄露检测和性能分析
- k近邻推荐用到的各种距离
- 用vim替代source insight
- mysql 5.7配置项最详细的解释
- 阿里系多个产品线宕机,包括1688、淘宝、天猫、淘宝直播、闲鱼……
- 前后端鉴权之session-cookie
- 一万年太久只争朝夕:从灯泡的寿命谈截尾样本的基础知识
- 后台得到ajax传来的参数,几种ajax传参数到后台获取的方法
- docker部署minio分享图片链接ip问题
- linux安装pycuda报错 517
- [Algorithmic Toolbox学习笔记][week6]Placing Parentheses
- 拿下Facebook黑客杯四冠王!与Jeff Dean相提并论...ACM竞赛之神的传奇前半生
- java取模数,Java中的模数
- Excel如何批量修改工作表名称
- 个人理财小助手 —— 数据库(二)
- 解决苹果手机点击输入框页面自动放大问题
- 数据结构__树的学习及宠物店功能实现
- android 微信抢红包软件
热门文章
- word中添加Mathtype公式行间距改变问题
- PCF8951读程序
- 算法手札二:红黑树的插入原理,原理与实现篇
- Ubuntu安装qt4.8.6步骤
- Matlab输入矩阵
- 222. 解决error pulling image configuration: Get https://production.cloudflare.docker.com/registry-v2/d
- 2013年03月05日
- 用matlab做巴特沃斯低通滤波器
- 高压电工作业考试试题
- 在线问答与科学管理系统