数值积分: 梯形规则--复合梯形规则--辛普森规则--复合辛普森规则--龙贝格求积公式
数值积分:梯形规则--复合梯形规则--辛普森规则--复合辛普森规则--龙贝格求积公式
微积分方法求积有很大的局限性,当碰到被积函数很复杂时,找不到相应的原函数。积分值
依据积分中值定理,底为b-a,而高为f(e)的矩形面积恰等于所求曲边梯形的面积I.f(e)称作区间[a,b]上的平均高度。这样,只要对平均高度f(e)提供一种算法,便相应地获得一种数值求积的算法。
可视作用a , b与c=(a+b)/2三点高度的加权平均值作为平均高度。
对区间[a, b],令h=b-a构造梯形值序列{T2k}。
T1=h[f(a)+f(b)]/2
把区间二等分,每个小区间长度为 h/2=(b-a)/2,于是
T2 =/2+[h/2]f(a+h/2)
把区间四(2)等分,每个小区间长度为h/4 =(b-a)/4,于是
3.复合梯形,辛普森规则(Composite)
松弛加速:根据公式求加速值,存于单元s2,c2,r2中
void tra()
{cout << endl;cout << "trapezoidal rule" << endl;double a = 0, b = 0.8;double fa = 0.2 + 25 * a - 200 * pow(a,2) + 675 * pow(a, 3) - 900 * pow(a, 4) + 400 * pow(a, 5);double fb = 0.2 + 25 * b - 200 * pow(b, 2) + 675 * pow(b, 3) - 900 * pow(b, 4) + 400 * pow(b, 5);double n = 100;double h = (b - a) / n;double w[100]; w[0] = 0;double f[100];for (int i = 1; i < n; i++) w[i] = w[i - 1] + h;for (int i = 1; i < n; i++){f[i] = 0.2 + 25 * w[i] - 200 * pow(w[i], 2) + 675 * pow(w[i], 3) - 900 * pow(w[i], 4) + 400 * pow(w[i], 5);}double s = 0;s = ((h - a) / 2)*(fa + f[1]);for (int i = 2; i < n; i++){s += ((h / 2)*(f[i] + f[i - 1]));}s+= ((h / 2)*(fb + f[99]));cout << s << endl;
}void sim()
{cout << endl;cout << "simpson's rule" << endl;double a = 0, b = 0.8;double fa = 0.2 + 25 * a - 200 * pow(a, 2) + 675 * pow(a, 3) - 900 * pow(a, 4) + 400 * pow(a, 5);double fb = 0.2 + 25 * b - 200 * pow(b, 2) + 675 * pow(b, 3) - 900 * pow(b, 4) + 400 * pow(b, 5);double n = 100;double h = (b - a) / n;double w[100]; w[0] = 0;double f[100];for (int i = 1; i < n; i++) w[i] = w[i - 1] + h;for (int i = 1; i < n; i++){f[i] = 0.2 + 25 * w[i] - 200 * pow(w[i], 2) + 675 * pow(w[i], 3) - 900 * pow(w[i], 4) + 400 * pow(w[i], 5);}double s = 0;f[0] = fa;for (int i = 1; i < n-1; i+=2){s += (2*h / 6)*(f[i-1] + 4*f[i]+f[i+1]);}cout << s << endl;
}void com_tra()
{cout << endl;cout << "the composite trapezoidal rule" << endl;
// double h = 0.1;double a = 0, b = 0.8;double fa = 0.2 + 25 * a - 200 * pow(a, 2) + 675 * pow(a, 3) - 900 * pow(a, 4) + 400 * pow(a, 5);
// double f7 = 0.2 + 25 * h*7 - 200 * pow(h * 7, 2) + 675 * pow(h * 7, 3) - 900 * pow(h * 7, 4) + 400 * pow(h * 7, 5);double fb = 0.2 + 25 * b - 200 * pow(b, 2) + 675 * pow(b, 3) - 900 * pow(b, 4) + 400 * pow(b, 5);double n = 100;double h = (b - a) / n;double w[100]; w[0] = 0;double f[100];for (int i = 1; i < n; i++) w[i] = w[i - 1] + h;for (int i = 1; i < n; i++){f[i] = 0.2 + 25 * w[i] - 200 * pow(w[i], 2) + 675 * pow(w[i], 3) - 900 * pow(w[i], 4) + 400 * pow(w[i], 5);}double s = 0;f[0] = fa;for (int i = 1; i < n ; i++){s += (h / 2)*( 2 * f[i]);}s += (h / 2)*(fa + fb);cout << s << endl;
}void com_sim()
{cout << endl;cout << "the composite simpson's rule" << endl;// double h = 0.1;double a = 0, b = 0.8;double fa = 0.2 + 25 * a - 200 * pow(a, 2) + 675 * pow(a, 3) - 900 * pow(a, 4) + 400 * pow(a, 5);double fb = 0.2 + 25 * b - 200 * pow(b, 2) + 675 * pow(b, 3) - 900 * pow(b, 4) + 400 * pow(b, 5);double n = 100;double h = (b - a) / n;double w[100]; w[0] = 0;double f[100];for (int i = 1; i < n; i++) w[i] = w[i - 1] + h;for (int i = 1; i < n; i++){f[i] = 0.2 + 25 * w[i] - 200 * pow(w[i], 2) + 675 * pow(w[i], 3) - 900 * pow(w[i], 4) + 400 * pow(w[i], 5);}double s = 0;f[0] = fa;for (int i = 1; i < n; i++){if (i % 2) s += (h / 3)*(2 * f[i]);else s += (h / 3)*(4 * f[i]);}s += (h / 3)*(fa + fb);cout << s << endl;
}
数值积分: 梯形规则--复合梯形规则--辛普森规则--复合辛普森规则--龙贝格求积公式相关推荐
- Romberg(龙贝格)求积公式求解数值积分时的注意事项
<数值分析>第5版(李庆扬编著)的第四章课后习题第8-(2)题中,要求使用Romberg(龙贝格)求积公式求解f(x)=xsinx在区间[0,2pi]上的积分,要求误差小于10^(-5). ...
- 数值计算大作业:数值积分(梯形、辛普森与龙贝格方法在Matlab实现)
作为研究生的入门课,数值计算的大作业算是所有研究生开学的重要编程作业. 针对数值积分的编程,我把梯形.辛普森与龙贝格方法在MATLAB中编写的程序放在文章最后了,需要的同学自取. PS:附录中的程序并 ...
- 数值计算方法(三)——变步长梯形法与龙贝格算法
变步长梯形算法 提出背景: 复化求积公式虽然能提高精度,但需要给出步长,步长精度太大则精度低,步长太小则计算量大,难以找到一个合适的步长(划分成的小区间的个数) 算法描述: 1.对所有已存在的子区间进 ...
- 变步长梯形法与龙贝格算法
文章目录 1. 变步长梯形法 算法描述 流程图 代码实现 2. 龙贝格算法 算法描述 例子 代码实现 1. 变步长梯形法 提出背景: 复化求积公式虽然能提高精度,但需要给出步长,步长精度太大则精度低, ...
- 数值积分:龙贝格求积
一.数学原理 在变步长的复化梯形计算过程中运用: 就能将粗糙的梯形值Tn逐步加工成精度较高的辛普森值Sn.柯特斯值Cn和龙贝格值Rn.或者说,将收敛缓慢的梯形值序列Tn加工成收敛迅速的龙贝格值序列Rn ...
- 数值计算笔记之数值积分(二)龙贝格算法
龙贝格求积公式也称为逐次分半加速法.它是在梯形公式.辛普森公式和柯特斯公式之间的关系的基础上,构造出一种加速计算积分的方法. 作为一种外推算法,它在不增加计算量的前提下提高了误差的精度. 在等距基点的 ...
- 计算方法之数值积分方法——复化梯形法,复化辛普森法,龙贝格法,三点高斯公式 附matlap程序下载
数值积分 复化求积法就是将求积区间[a,b]划分为n等份,步长h=(b-a)/n,等分点为xi=a+ih,i=0,1,2,-,n.然后用低阶求积公式求的每个字段[xi,xi+1]上的积分值I,然后再将 ...
- 抛物线求积公式求积分算法matlab,数值计算实验报告---复合求积公式(梯形、抛物线、龙贝格)、导数求值(三点、四点、五点公式)...
----------------------个人作业,如果有后辈的作业习题一致,可以参考学习,一起交流,请勿直接copy ··复合抛物线公式: ··龙贝格公式: 四.实验内容 ------1 实验题目 ...
- 数值积分(辛普森求积、柯特斯求积、龙贝格求积)
利用复化辛普森求积公式计算∫abf(x)dx\int _ { a } ^ { b } f ( x ) d x∫abf(x)dx的近似值 辛普森求积 function s=simpson( f_nam ...
最新文章
- 使用 Spring Boot 快速构建 Spring 框架应用
- vue 数组数据改变 视图不更新解决方案
- 现在完成时与过去完成时的区别
- python中的try与if,python中if和try的区别是什么
- java中常用的关键字_java中的常用的关键字
- 前端知识笔记汇总200304
- C#传递参数调用exe程序
- “元宇宙”究竟是什么?我用最通俗的大白话给IT人说清楚
- VB6里自动提交/自动填表的一种相对通用的方案
- jsp页面加载时自动执行action
- 世界国家中英文名称以及地区区号json格式
- 2019年技术盘点容器篇(三):阿里专家谈容器:既叫好又叫座? | 程序员硬核评测
- 电脑桌面图标文字有蓝底怎么去掉?
- 与传统的物理服务器对比,云服务器有哪些优势
- 【NOI2017模拟3.30】原谅(计算几何,期望)
- 保健品消费者需求调查方案
- 教培机构如何搭建在线教育网校平台
- Windows电脑内存不足解决问题
- android模拟器设置静态ip,静态IP地址版EVE模拟器部署和使用说明
- python如何检测文件或图片类型
热门文章
- 推荐一个免费的生成词云(word cloud)的在线工具
- sqlserver远程连接mysql_sqlserver2005远程连接 mysql
- V_rep与vs2019开发环境配置
- TB,GB,MB,KB,Byte字节,bit位 如何换算?
- 计算机广东大专院校排名2018,重磅!广东85所专科院校官方排名刚刚出炉,这所高职回归第一!...
- 30米分辨率的DEM地形数据——STRM高程数据
- 大富豪3(GM商城版)新手攻略之购买土地
- ISTQB基础级认证参考书
- PBR来龙去脉篇一:光和人眼感知颜色
- 快速调用编辑器来写一条长,复杂或难的命令--用Enki学Linux系列(5)