
积分的 MATLAB 命令
MATLAB 中主要用 int 进行符号积分,用 trapz,dblquad,quad,quad8 等进行数值积分。
R=int(s,v) %对符号表达式 s 中指定的符号变量 v 计算不定积分 .表达式 R 只是表
达式函数 s 的一个原函数 ,后面没有带任意常数 C.
R=int(s) %对符号表达式 s 中确定的符号变量计算计算不定积分 .
R=int(s,a,b) %符号表达式 s 的定积分, a,b 分别为积分的上、下限
R=int(s,x,a,b) % 符号表达式 s 关于变量 x 的定积分, a,b 分别为积分的上、下限
trapz(x,y) 梯形积分法, x 时表示积分区间的离散化向量, y 是与 x 同维数的向量,
表示被积函数, z 返回积分值。
fblquad( ‘ fun ’ ,a,b,c,d)矩形区域二重数值积分, fun 表示被积函数的 M 函数名, a,b
分别为 x 的上、下限, c,d 分别为 y 的上、下限 .
可以用 help int, help trapz, help quad 等查阅有关这些命令的详细信息
例 1 用符号积分命令 int 计算积分
xdxx sin
2
.
MATLAB 代码为:
>>clear; syms x;
>>int(x^2*sin(x))
结果为
ans =-x^2*cos(x)+2*cos(x)+2*x*sin(x)
如果用微分命令 diff 验证积分正确性, MATLAB 代码为:
>>clear; syms x;
>>diff(-x^2*cos(x)+2*cos(x)+2*x*sin(x))
结果为
ans =x^2*sin(x)
例 2 计算数值积分
2
4
2
x dx
.
先用梯形积分法命令 trapz 计算积分
2
2
4
dxx
,MA TLAB 代码为:
>>clear; x=-2:0.1:2; y=x.^4; % 积分步长为 0.1
>>trapz(x,y)
结果为
ans = 12.8533
实际上,积分
2
2
4
dxx
的精确值为
8.12
5
64
。如果取积分步长为 0.01, MATLAB 代码为:
>>clear; x=-2:0.01:2; y=x.^4; % 积分步长为 0.01
>>trapz(x,y)
结果为
ans =12.8005
可用不同的步长进行计算,考虑步长和精度之间的关系。 一般说来 ,trapz 是最基本的