matlab trapz二重积分函数_科学网—MATLAB中的数值积分方法 - 王福昌的博文
实际应用中在MATLAB里面都有开发好的命令可以使用,如 quad(), quadl(),quad2d(),triplequad() 。需要掌握这些命令的用法。
1. 定积分 trapz(),quad(),quadl()
trapz() 函数采用复化梯形公式求积分,其使用格式为
I = trapz(x,y)
参数x为自变量,y为节点处的值,返回值为积分的近似值。
quad() 函数采用自适应步长是Simpson 求积法,其格式为
I = quad(fun,a,b,tol)
参数 fun 为被积函数 $f(x)$;a,b 分别为变量~$x$ 的积分下限和上限; tol 为积分精度要求,默认为1e-6($10^{-6}$)
计算定积分 $\displaystyle{\int_0^1\dfrac{d x}{1+x^2}}.$
>> I = quad(@(x)1./(1+x.^2),0,1)
I =
0.7854
精确解为 $\dfrac{\,\pi\,}{4}$.
计算二重积分
$$\iint\limits_D\sqrt{|y-x^2|}dxdy,D =\{(x,y)|-1\leqslant x \leqslant 1, 0\leqslant y\leqslant 2\}.$$
>> fun = @(x,y)(sqrt(abs(y-x.^2)))
>> I = dblquad(fun,-1,1,0,2)
I =
3.2375
精确解为 $\dfrac{\,5\,}{3}+\dfrac{\,\pi\,}{2}$.
对于非矩形积分区域,也可以用矩形区域积分来处理,但是需要令超出边界的部分函数值为0.
计算二重积分
$\iint\limits_D\sqrt{1-x^2-y^2}dxdy,D =\{(x,y)|x^2+y^2\leqslant 1\}.$
$$\iint\limits_D\sqrt{1-x^2-y^2}dxdy,D =\{(x,y)|x^2+y^2\leqslant 1\}.$$
>> fun = @(x,y)(sqrt(1-x.^2-y.^2).*(x.^2+y.^2<=1));% 或 fun = @(x,y)(sqrt(max(1-x.^2-y.^2,0)));
>> I = dblquad(fun,-1,1,-1,1)
I =
2.0944
精确解为 $\dfrac{\,2\,}{3}\pi$.
3. 三重积分 triplequad
triplequad() 是在立方体区域上求三重积分的函数,其格式为
I = triplequad(fun,a,b,c,d,e,f,tol,method)
参数 fun 为三元被积函数 $f(x,y,z)$;a,b 分别为变量 $x$ 的积分下限和上限; c,d 分别为变量 $y$ 的积分下限和上限;e,f 分别为变量~$z$ 的积分下限和上限;tol 为积分精度要求,默认为1e-6($10^{-6}$);method 为求积分的方法,有两种,一种是@quad,另一种是@quadl,默认是@quadl。
计算三重积分$$\iiint\limits_\Omega \bigg[y\sin x + z\cos x\bigg] d v,\Omega=\{(x,y,z)|0\leqslant x \leqslant\pi, 0\leqslant y\leqslant 1,-1\leqslant z\leqslant 1\}.$$
>> fun = @(x,y,z)(y.*sin(x)+z.*cos(x));
>> I = triplequad(fun,0,pi,0,1,-1,1)
I =
2.0000
对于非立方体的积分区域,可以采用令边界外的函数值为 0 的方法。
计算三重积分$$\iiint\limits_\Omega \bigg|\sqrt{x^2+y^2+z^2-1} \bigg|d v,\quad \Omega=\{(x,y,z)|\sqrt{x^2+y^2}\leqslant z\leqslant 1\}.$$
>> fun = @(x,y,z)(abs(sqrt(x.^2+y.^2+z.^2)-1).*((z<=1)&(z>=sqrt(x.^2+y.^2))));
>> I = triplequad(fun,-1,1,-1,1,0,1)
I =
0.2169
精确解是 $\dfrac{\pi(\sqrt{2}-1)}{6}$,计算误差为 $4.5220\times 10^{-6}$.
转载本文请联系原作者获取授权,同时请注明本文来自王福昌科学网博客。
链接地址:http://blog.sciencenet.cn/blog-292361-1012198.html
上一篇:《高等工程数学》第三版 “第八章 数值积分和数值微分公式”
下一篇:《高等工程数学》第三版 “第九章 方程求根” 的幻灯片
matlab trapz二重积分函数_科学网—MATLAB中的数值积分方法 - 王福昌的博文相关推荐
- matlab trapz二重积分函数_如何使用 MATLAB 求解定积分、不定积分和多重积分问题...
介绍几种 MATLAB 中求解积分的方法,首先是采用符号积分的方法,求解积分的符号函数为 \(int\),使用方法如下: int(f,x,a,b) 例如计算如下积分函数: $$\int \frac{1 ...
- matlab中的mkdir函数_科学网—Matlab中计算函数运行时间的三种方法及判断新建文件夹 - 张伟的博文...
(一)运行时间 1.tic和toc组合 计算daotic和toc之间那专段程序之间的属运行时间,它的经典格式为 : tic 函数 toc 复制函数代码,当代码遇到tic时Matlab自动开始计时,运行 ...
- matlab trapz二重积分函数_小小知识点(十二)利用MATLAB计算定积分
一重定积分 1. Z = trapz(X,Y,dim) 梯形数值积分,通过已知参数x,y按dim维使用梯形公式进行积分 %举例说明1 clc clear all % int(sin(x),0,pi) ...
- matlab批量生成灰度图像_科学网—matlab彩色图像的批处理转换为灰度、二值和主成分图图像 - 金秀良的博文...
这段代码主要用来进行图像的批处理转换为灰度.二值和主成分图图像,希望给大家借鉴.其中 RGB to bw可以直接实现,但是效果不好,所以先用RGB to gray,之后再gray to bw.RGB ...
- mh采样算法推导_科学网—MCMC中的Metropolis Hastings抽样法 - 张金龙的博文
Metropolis Hastings抽样法示例 jinlongzhang01@gmail.com Metropolis Hasting(下面简称MH)是蒙特卡罗马尔科夫链中一种重要的抽样方法.本文简 ...
- 单纯性搜索算法 matlab函数,科学网—一种有效的最优化方法——Nelder-Mead单纯形直接搜索算法 - 王福昌的博文...
虽然MATLAB本身自带了fminsearch()函数,可以求解目标函数无梯度的最优化问题,但是感觉下面的程序在很多时候更好用,特别是自变量有边界和非线性约束的时候. 这里是John D'Errico ...
- matlab对数收益直方图,科学网—MATLAB中绘制数据直方图的新函数histogram2 - 王福昌的博文...
MATLAB中有命令hist3() 可以绘制直方图,竖坐标是频数,这与一些教科书中用纵轴表示频率的做法不一致,有些时候不便于使用.当然,使用者可以自己编写定制能够在纵轴绘出频率的直方图.在MATLAB ...
- python牛顿法解非线性方程组_科学网—求解多元非线性方程组F(x)=0的Newton-Raphson方法及其MATLAB实现 - 王福昌的博文...
科学网对公式支持不太好,在博客园有相同博文 牛顿迭代法可以推广到多元非线性方程组 $boldsymbol{F}(boldsymbol{x})=boldsymbol{0}$的情况,称为牛顿-- 拉夫逊方 ...
- matlab回归分析结果输出,科学网—回归分析的MATLAB和R程序实现 - 王福昌的博文...
前面博客中已经讲过MATLAB中常用的命令拟合polyfit() , lsqcurvefit() ,nlinfit() 和 cftool等,这里简单介绍简单的回归分析的MATLAB和R语言实现. 例 ...
最新文章
- K8S - Kubernetes简介
- div 下 的img水平居中
- NYOJ 460 项链
- outlook反应慢的原因_环氧漆不固化是什么原因?固化剂的使用有关系!
- (3)Python3笔记之变量与运算符
- 线程打印_面试题:用程序实现两个线程交替打印 0~100 的奇偶数
- 前端学习(2886):如何短时间内实现v-for 组件化设计方案
- LeetCode 1234. 替换子串得到平衡字符串(滑动窗口)
- 右键计算机菜单,右键菜单设置方法步骤【图文】
- Windows下搭建Scala开发环境
- JAVA编程规则【转自java编程思想】
- 分布式定时器的实现原理
- S7503E V7 snmpv3典型组网配置案例(与IMC联动)
- 【个人笔记】OpenCV4 C++ 图像处理与视频分析 03课
- apache tomcat ajp协议安全限制绕过漏洞_【高危安全通告】Apache Tomcat 文件包含漏洞(CVE20201938)...
- attention与self attention的区别
- pytorch学习(一)数据加载之前的预处理(UCSD数据集)
- java 一笔一划 写汉字_基于Web的汉字一笔一划书写方法
- C++ Test 关于Read Symbols报错的解决方法(适用于Windows 10)
- 关于2020年全国大学生电子设计竞赛 ——信息科技前沿专题邀请赛(瑞萨杯)竞赛时间调整的通知