matlab求积分(超详细,含int integral integral2/3 quad trapz)

matlab求积分
matlab求积分函数工具:

int

用法1: 格式: int(fun,x,a,b)
功能: 计算定积分
用法2: 格式: int(f,x)
功能: 计算不定积分
注: 使用int函数之前, 先用syms声明x是符号变量

trapz (利用梯形法)

格式: I=trapz(x,y)
功能: 求取定积分, 适用于被积函数是离散数据
eg: ac=@(x)sin(x)./x %用@引入函数句柄
x1=pi/4:pi/50:pi/2;
y1=ac(x1);
s1=trapz(x1,y1)

quad (基于变步长辛普森法)

格式: [I,n]=quad(‘fname’,a,b,Tol,trace)
其中: ‘fname是被积函数名
a,b是积分上下限
Tol是精度控制值, 省却时取0.001
Trace:控制是否显示展现积分过程, 取0不展现
I: 积分值
n: 被积函数调用次数
eg: ac=@(x)sin(x)./x
s=quad(ac,pi/4,pi/2)

integral1

格式: q = integral(fun,xmin,xmax)
用法1: 广义积分
创建函数 f(x)=exp(-x2)(lnx)2。
**fun = @(x) exp(-x.2).*log(x).2;
计算 x=0 至 x=Inf 的积分。
q = integral(fun,0,Inf)
》 》 q = 1.9475
用法2: 参数化函数
创建带有一个参数 c 的函数 f(x)=1/(x3-2x-c)。
fun = @(x,c) 1./(x.^3-2
x-c);
在 c=5 时, 计算从 x=0 至 x=2 的积分。
q = integral(@(x)fun(x,5),0,2)
》 》 q = -0.4605
用法3: 向量化积分
创建向量值函数 f(x)=[sinx,sin2x,sin3x,sin4x,sin5x] , 并求 x=0 到 x=1 的积分。 指定
‘ArrayValued’,true 以便计算数组值或向量值函数的积分。
fun = @(x)sin((1:5)*x);
q = integral(fun,0,1,‘ArrayValued’,true) %true表示被积函数是数组值函数
》 》 q = 1×5
0.4597 0.7081 0.6633 0.4134 0.1433

高精度Lobatto积分法

格式: z = quadl(Fun,a,b)

自适应Gauss-Kronrod数值积分

格式: z = quadgk(Fun,a,b)
功能: 适用于高精度和震荡数值积分, 以及广义数值积分
积分法矢量化

自适应simpson数值积分

格式: z = quadv(Fun,a,b)
功能: 向量化积分
eg:
F=@(x,n)1./((1:n)+x.^2);
quadv(@(x)F(x,6),0,1)

dblquad 数值二重积分

格式: I=dblquad(f,a,b,c,d,tol,trace),
功能: 求f(x,y)在[a,b]×[c,d]区域上的二重积分
f=@(x,y)exp(-x.2/2).*sin(x.2+y)
I=dblquad(f,-2,2,-1,1)

integral2 数值二重积分

格式: q = integral2(fun,xmin,xmax,ymin,ymax)
功能: 在平面区域 xmin ≤ x ≤ xmax 和 ymin(x) ≤ y ≤ ymax(x) 上逼近函数 z = fun(x,y) 的积分。
用法1: 将三角形区域与奇异性在边界处集成
eg:
此函数在 x 和 y 为零时未定义。
当奇异性位于积分边界上时, integral2 的性能最佳。
创建匿名函数。
fun = @(x,y) 1./( sqrt(x + y) .* (1 + x* + y).^2 )
对 0≤x≤1 和 0≤y≤1-x 限定的三角形区域计算积分。
ymax = @(x) 1 - x;
q = integral2(fun,0,1,0,ymax)
》》q = 0.2854
用法2: 极坐标二重积分
eg:
fun = @(x,y) 1./( sqrt(x + y) .
(1 + x + y).^2 ); %用x y 表示rcos rsin
polarfun = @(theta,r) fun(r.*cos(theta),r.*sin(theta)).*r;
为 r 的上限定义一个函数。
rmax = @(theta) 1./(sin(theta) + cos(theta));
对 0≤θ≤π/2 和 0≤r≤rmax 限定的区域计算积分。
q = integral2(polarfun,0,pi/2,0,rmax)

ntegral3 数值三重积分

格式: q = integral3(fun,xmin,xmax,ymin,ymax,zmin,zmax)
用法1: 具有有限范围的三重积分
fun = @(x,y,z) y.*sin(x)+z.*cos(x)
q = integral3(fun,0,pi,0,1,-1,1)
》 》 q = 2.0000
用法2: 在笛卡尔坐标中对单位球面计算积分
fun = @(x,y,z) x.*cos(y) + x.^2.*cos(z)
%积分范围
xmin = -1;
xmax = 1;
ymin = @(x)-sqrt(1 - x.^2);
ymax = @(x) sqrt(1 - x.^2);
zmin = @(x,y)-sqrt(1 - x.^2 - y.^2);
zmax = @(x,y) sqrt(1 - x.^2 - y.^2);
使用 ‘tiled’ 方法计算定积分。
q = integral3(fun,xmin,xmax,ymin,ymax,zmin,zmax,‘Method’,‘tiled’)

  • 16
    点赞
  • 202
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

余睿Lorin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值