数值分析快速复习(1)——Matlab数值积分
数值分析快速复习(1)——Matlab数值积分
- 序言
- 数值积分基础知识
- 为什么要进行数值积分?
- 数值积分的几种基本方法?
- 插值型
- 复化求积公式
- Romberg公式
- 作业:Matlab实现Romberg积分
序言
由于最近的项目需要用到数值分析的相关知识,需要简单回顾以下数值积分的知识,复习内容以上学期数值分析课本内容和课后Matlab作业为主,在这里将复习的感悟分享给大家。
数值积分基础知识
为什么要进行数值积分?
在工程中,自变量和因变量往往不能通过简单的函数映射关系去表达,例如最简单的光/声波的传播,也会因为噪声而变得不能用简单的三角函数去表达。因此f(x)往往是通过列表函数表达,对于列表函数,求导和积分的公式都不能使用,这就要求我们要学会数值积分这个强有力的工具。
另外,在高等数学里我们学过,一些函数根本不能积分,找不到初等函数的原函数,例如:1/ln(x),所以对于这些函数,也必须使用数值积分进行求解。
数值积分的几种基本方法?
插值型
对于列表函数或一些复杂函数,我们一般可以知道一些节点的具体坐标,根据这些坐标拟合出一个多项式,这个过程叫做插值,得到拟合的多项式再进行积分就非常简单了。
两个插值节点得到的求积公式——梯形公式
三个等距插值节点得到的求积公式——Simpson公式
- 五个等距插值节点得到的求积公式——cotes公式
复化求积公式
插值型求积公式在较小的积分区间中非常好用,但是随着积分区间的增大,截断误差也在不断增大,因此我们很自然的想到,如果将一个很大的积分区间划分成无限小段,再对每一小段使用前面的插值型求积公式,是不是就非常好了呢?
于是有了:
复化梯形公式
复化Simpson公式
复化Cotes公式
Romberg公式
从上面可以看到,复化Simpson公式计算简单,但是精度相比于复化cotes来说比较差,收敛速度也相对较慢。怎么样发扬优点,避免缺点呢?
数学家从复化梯形公式的误差估计式入手,推导梯形公式、Simpson公式、Cotes公式之间的关系,这样在计算Cotes公式时就不需要上面那么复杂的公式了,而是通过求梯形公式的值——Simposon公式的值——Cotes公式的值,这就是Romberg公式。
所以只需要计算最简单的梯形公式就可以得到很精确地Romberg积分值了!
(想看具体推导的同学,可以翻一下书本《数值分析(东南大学出版社)》215页)
作业:Matlab实现Romberg积分
贴一下我们老师布置的matlab作业的代码,实现了一个小的龙伯格积分,给大家作为参考。
%%Romberg integration method
clear,clc;format long;
f=@(x)1/(1+100*x^2);
syms x; %定义函数
e=0.5*10^(-7);
for c=4:100for i=0:cn=2^i;h=2/n;x=zeros(1,n+1);x(1)=-1;x(n+1)=1;t=0;if i~=0for j=2:nx(j)=-1+2/n*(j-1);endt=f(x(2));if i~=1for j=3:nt=t+f(x(j));endendendT(1,i+1)=h/2*(f(-1)+f(1)+2*t);endfor i=1:cT(2,i)=4/3*T(1,i+1)-T(1,i)/3;endfor i=1:c-1T(3,i)=16/15*T(2,i+1)-T(2,i)/15;endfor i=1:c-2T(4,i)=64/63*T(3,i+1)-T(3,i)/63;endif abs(T(4,i)-T(4,i-1))<ebreakend
end
disp('____________________________________________________')
fprintf('区间等分数 %f\n',n);
fprintf('积分值 %f\n',T(4,i));
disp('____________________________________________________')
以上内容如有误,还请各位批评指正。
数值分析快速复习(1)——Matlab数值积分相关推荐
- quad8是matlab中调用那个,Matlab 数值积分
MATLAB数值积分与微分 8.1 数值积分 8.1.1 数值积分基本原理 求解定积分的数值方法多种多样,如简单的梯形法.辛普生(Simpson)法.牛顿-柯特斯(Newton-Cotes)法等都是经 ...
- matlab数值积分的计算
标签(空格分隔): matlab 积分 数值 计算 文章目录 标签(空格分隔): matlab 积分 数值 计算 @[toc] matlab数值积分 1 Gauss-Hermite积分 1.1 测试G ...
- 机器学习快速截图工具matlab版本——文件夹批量处理(原创)
简要说明: 1.打开文件夹后,遍历所有JPG格式图片,在同目录下新建一个CROP的文件夹存放裁剪的图片. 2.对每张图片, (1)初步框选你要裁剪的矩形框,会自动以你框选的左上点为起点,裁剪大小为长宽 ...
- Java基础部分快速复习(以前复习的时候放在自己的新浪博客上)
工作后Java基本没有用到,有时候自己也会把基础过一遍,下面的链接是以前重温的时候整理的Java基础最核心部分的知识点和代码示例放在自己的新浪博客上,如果以后有需要,直接从这里进入,可以快速复习,节省 ...
- matlab多重数值积分,Matlab数值积分和微分(一重、多重都有),简单实用。
第8章 MATLAB数值积分与微分 8.1 数值积分 8.2 数值微分 8.1 数值积分 8.1.1 数值积分基本原理 求解定积分的数值方法多种多样,如简单的梯形法.辛普生(Simpson)法.牛顿- ...
- matlab离散点数字微分,MATLAB数值积分与微分
第8章 MATLAB数值积分与微分 8.1 数值积分 8.2 数值微分 8.1 数值积分 8.1.1 数值积分基本原理 求解定积分的数值方法多种多样,如简单的梯形法.辛普生(Simpson)法.牛顿- ...
- Java虚拟机知识点快速复习手册(上)
前言 本文快速回顾了常考的的知识点,用作面试复习,事半功倍. 上篇主要内容为:虚拟机数据区域,垃圾回收 下篇主要内容为:类加载机制 面试知识点复习手册 全复习手册文章导航 Csdn全复习手册文章导航: ...
- 计算机网络基础知识点快速复习手册
前言 本文快速回顾了计算机网络书本中常考的的知识点,用作面试复习,事半功倍. 主要内容有:计算机网络体系结构,TCP与UDP,UDP/TCP实现DEMO代码 面试知识点复习手册 全复习手册文章导航 全 ...
- 谭浩强C程序设计快速复习笔记
README 该笔记主要根据岭南学院专插本的考纲进行编写.用到的教材是谭浩强的<C程序设计>第三版 适用人群:对C有一定基础,针对考点快速复习的考生.但不限于岭南学院专插本考生 亮点:①结 ...
最新文章
- 【脚下生根】之深度探索安卓OpenGL投影矩阵
- EXCEL如何验证重复数据?
- java轩辕剑天之痕游戏攻略_轩辕剑之天之痕游戏攻略大全
- html框架实验总结,网页设计实训心得
- Landsat中国西北地区行列号Shapefile图层对照(附行列号Shapefile下载)
- transition属性详细讲解
- java连接数据库增删改查公共方法
- Python合并两个有序链表
- B. Remove Prefix
- 手机端html5自动调用touch事件,移动端中touch事件的详解
- C#实现多人语音聊天
- [HTML5点滴]客户端存储那些事
- 开始体验WinXp + VmWare Workstation + Fedora8
- 125w短波通信距离_超短波通信距离浅析
- 简单的博弈问题:牛羊吃草问题(递归解法-暴力解法)
- 常用数据库有哪些(附带数据库排名)?
- eCharts省份地图配置及方法
- 计算机专业男生礼物排行榜,男人内心最想收到的礼物,得票数最多的居然是这十个...
- Lomboz的安装与下载(转)
- realloc函数和malloc函数区别