关于MATLAB的数值积分 matlab中数值积分

相关函数:

%符号积分
int(f,v)
int(f,v,a,b)


关于MATLAB的数值积分 matlab中数值积分
%数值积分
trapz(x,y)% 梯形法沿列方向求函数Y关于自变量X的积分
cumtrapz(x,y)% 梯形法沿列方向求函数Y关于自变量X的累计积分
quad(fun,a,b,tol) %采用递推自适应Simpson法计算积分
quad1(fun,a,b,tol) % 采用递推自适应Lobatto法求数值积分
dbquad(fun,xmin,xmax,ymin,ymax,zmin,zmax,tol)% 二重(闭型)数值积分指令
triplequad(fun,xmin,xmax,ymin,ymax,zmin,zmax,tol)% 三重(闭型)数值积分指令

% 二元函数重积分的数值计算

dblquad(fun,xmin,xmax,ymin,ymax)% 矩形区域上的二重积分

quad2dggen(fun,xlower,xupper,ymin,ymax)%任意区域上二元函数的数值积分

函数1 quad、quadl、quad8

功能: 数值定积分,自适应Simpleson积分法。

格式: q =quad(fun,a,b)%近似地从a到b计算函数fun的数值积分,误差为10-6。若给fun输入向量x,应返回向量y,即fun是一单值函数。

q = quad(fun,a,b,tol) %用指定的绝对误差tol代替缺省误差。tol越大,函数计算的次数越少,速度越快,但结果精度变小。

q = quad(fun,a,b,tol,trace,p1,p2,…) %将可选参数p1,p2,…等传递给函数fun(x,p1,p2,…),再作数值积分。若tol=[]或trace=[],则用缺省值进行计算。

[q,n] =quad(fun,a,b,…) % 同时返回函数计算的次数n

… = quadl(fun,a,b,…) % 用高精度进行计算,效率可能比quad更好。

… =quad8(fun,a,b,…) % 该命令是将废弃的命令,用quadl代替。

例1.

>>fun =inline(‘’3*x.^2./(x.^3-2*x.^2+3)’);

>>Q1 = quad(fun,0,2)

>>Q2 = quadl(fun,0,2)

计算结果为:

Q1 = 3.7224

Q2 = 3.7224

函数2trapz、 cumtrapz

功能: 梯形法数值积分

注意:积分结果要乘以自变量间隔才是积分结果!!!

格式: T =trapz(Y)%用等距梯形法近似计算Y的积分。若Y是一向量,则trapz(Y)为Y的积分;若Y是一矩阵,则trapz(Y)为Y的每一列的积分;若Y是一多维阵列,则trapz(Y)沿着Y的第一个非单元集的方向进行计算。积分结果需要乘以自变量间隔dX,即Q=dx*trapz(Y)。

T =trapz(X,Y)% 用梯形法计算Y在X点上的积分。若X为一列向量,Y为矩阵,且size(Y,1) =length(X),则trapz(X,Y)通过Y的第一个非单元集方向进行计算。

T = trapz(X,Y,dim) %沿着dim指定的方向对Y进行积分。若参量中包含X,则应有length(X)=size(Y,dim)。

trapz(x,y)% 梯形法沿列方向求函数Y关于自变量X的积分,结果为一常数

cumtrapz(x,y)%梯形法沿列方向求函数Y关于自变量X的累计积分,即从x数组的起点开始,每一个x点都作为积分上限得到的积分值,积分为一个与x维度一样的数组,最后一个数与trapz(x,y)一样

例2。 计算f(t)=exp(-t^2)在[0,1]上的定积分

>>symsx
int(exp(-x^2),0,1)
ans = 1/2*erf(1)*pi^(1/2) %erf为误差函数
>>vpa(int(exp(-x^2),0,1))
ans = .7468241328124270
>>d=0.001;x=0:d:1;d*trapz(exp(-x.^2))
ans = 0.7468
>>quad('exp(-x.^2)',0,1,1e-8)
ans = 0.7468

  

爱华网本文地址 » http://www.aihuau.com/a/25101016/325480.html

更多阅读

matlab中如何定义函数 matlab输入函数表达式

matlab中如何定义函数——简介许多时候希望将特定的代码(算法)书写成函数的形式,提高代码的可封装性与重复性,简化代码设计,提高执行效率!下面简单介绍一下matlab中的函数定义与使用。matlab中如何定义函数——工具/原料matlab 7.0及以上

matlab中的最大值和最小值_待_雪 函数最大值和最小值

matlab中的的最大值和最小值MATLAB提供的求数据序列的最大值和最小值的函数分别为max和min,两个函数的调用格式和操作过程类似。1.求向量的最大值和最小值求一个向量X的最大值的函数有两种调用格式,分别是:(1) y=max(X):返回向量X的最

声明:《关于MATLAB的数值积分 matlab中数值积分》为网友禁欲美男分享!如侵犯到您的合法权益请联系我们删除