数值计算微积分
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
quad和quad8函数的调用
MATLAB的函数quad和quad8是基于数学上的正方形概念来 计算函数的面积。为获得更准确的结果,两个函数在所需 的区间都要计算被积函数。 与简单的梯形比较,这两个函数进行更高阶的近似,而且 quad8比quad更精确。这两个函数的调用方法与fzero相 同,即 >>area=quad(‘humps‘,-1,2) % find area between -1 and 2 area =
trapz 函数的应用
对如上所示的两个曲线,用trapz在区间-1<x<2上计算 y=humps(x)下面的面积:
>>x=-1: 0.17: 2;
% rough approximation
>>y=humps(x);
>>area=trapz(x, y) plot command
% call trapz just like the
求积分上下限都为常数的二重积分,被积函数为 y*sin(x)+s*cos(y),其中x的取值范围是π到2π,y的 取值范围是0到π。 (1)建立名为integrnd的M文件
fimction out=integrnd(x,y) out=y*sin(x)+x*cos(y) (2)用函数dblquad命令来求integrnd的二重积分 result=dblquad('integrnd',pi,2*pi,0,pi) result= -9.8698
三、多重数值积分
一元函数积分中存在的问题,同样存在于多重积分中。
1、积分限为常数的二重积分
多重积分使用函数dblquad,其完整的调用格式为:
result=dblquad('fun',inmin, inmax, outmin, outmax, tol, method)
其中:输入参数fun是被积函数,可以直接用字符串内联 函数或M函数文件表达,但不论什么形式,该被积函数应 有两个变量,即内变量和外变量。内变量接受向量输入, 外变量接受标量输入。被积函数的输出是与内变量同长的 向量。
26.3450
quad和quad8函数的调用
>>area=quad8(‘humps‘,-1,2) area =
26.3450 注意: 这两个函数返回完全相同的估计面积,而且这个估计值在 两个trapz面积的估计值之间。
[例13-1] example13_1.m
(1)建立函数funq function y=funq(x) y=x.^3+x.^2+2;
area =
25.9174
trapz 函数的应用
>>x=-1: 0.07: 2; >>y=humps(x); >>area=trapz(x , y) area =
26.6243
% better approximation
上述两个结果不同是基于对图形的观察,粗略近似可能低 估了实际面积。除非特别精确,没有准则说明哪种近似效 果更好。
quad函数和quad8函数
MATLAB提供的求积函数命令quad和quad8在使用时,
其递推的层次限制在十层以内,达到这个限制则会
提示警告信息,并且这两个函数命令都不能解决可
积的奇异值问题,例如,求解
1
0
Байду номын сангаас
1 dx 。
x
quad和quad8函数调用格式
函数quad和quad8完整的调用格式为: ( 1 ) q=quad('fun',a,b,tol,trace,pl,p2,…) 采 用 Simpson法计算积分; (2)q=quad8('fun',a,b,tol,trace,p1,p2,…) 采用 八样条Newton-Cotes公式求数值积分。 其中:fun是被积函数,可以是表达式字符串、内联函数、 M函数文件名,被积函数的自变量,一般采用字母x; a、b分别是积分的上、下限,都是确定的值;
第13讲 数值计算 —微积分
张建瓴
§13.1 数值积分
一、数值积分方法
在工程教学和应用中,除了进行数据逼近外,还要求逼近 曲线下面的面积,这就是积分问题。
典型的数值积分方法有:用常数(0阶多项式)近似函 数矩形法;用直线(一阶多项式)近似函数曲线的梯形 法;用抛物线(二阶多项式)近似函数曲线的Simpson 法,以及用一般多项式近似函数的Romberg法等。
dblquad函数的参数
输入参数inmin,inmax是内变量的下限和上限; outmin、outmax是外变量的下限和上限; tol的含义与命令quad中的情况相同; method是积分方法选项,如“quad”和“quad8”等。 注意: 该命令不适用于内积分区间上、下限为函数的情况。
〖例13-6〗 example13_6.m
y=sin(x^3)*sqrt(x)
x求y,
表13-1列出了函数数值积分的一些命令。
常见的一元数值积分命令
表13-1 函数数值积分的命令
二、一(元)维数值积分
MATLAT提供了在有限区间内,数值计算某函数下的面积 (积分)的三种函数:trapz,quad和quad8。
1、trapz函数 函 数 trapz 通 过 计 算 若 干 梯 形面积的和来近似某函数的 积分,这些梯形如图13-1所 示 , 是 通 过 使 用 函 数 humps 的数据点形成。
trapz 函数
图13-2 较好的梯形逼近曲线下的面积示意图 从图中可明显地看出,单个梯形的面积在某一段欠估计了 函数真正的面积,而在其它段又过估计了函数的真正面积。 如同线性插值,当梯形数目越多时,函数的近似面积越准 确。例如,在图13-1中,如果我们大致增加一倍数目的梯 形,我们得到如下(如图13-2)所示的更好的近似结果。
quad和quad8的参数
tol是一个二元向量,它的第一个元素用来控制相对误差, 第二个元素用来控制绝对误差,缺省时积分的相对精度为 0.001; trace如果取非零值时,将以动态图形的形式展现积分的 整个过程,若取零值,则不画图,其缺省值是0; pl和p2是向被积函数传递的参数。 在上面的调用格式中,前三个输入参数是调用时必须的, 而后面的输入参数可缺省。
求函数的数值积分
(2)对被积函数funq进行数值积分 q=quad('funq',-1,1,le-4) %使用quad命令求数值积分 q=
4.6667
[例13-1]
q8=quad8('funq',-1,1,le-4,1) 值积分
% 用 quad8 命 令 求 数
q8=
4.6667
程序的运行结果显示出积分的过程如图13-3所示。