在MATLAB中,如何利用trapz函数求积分
在MATLAB语言中,采用梯形求积法求解积分是由trapz函数实现的,其使用格式如下。
·z=trapz(y)命令采用梯形近似求解y的积分近似值。在间距不是1的时候,采用间距乘以z y的方法求解。对于向量y,trapz(y)命令返回y的积分;对于矩阵y,trapz(y)命令返回一个行向量,该行向量的元素值为矩阵y对应的列向量的积分值;对于N维列向量,trapz(y)命令从第一个非独立维开始计算。
·z=trapz(x,y)命令使用梯形法求解y对x的积分值。其中x和y必须是具有相同长度的向量,或者x是一个列向量,而y的第一个非独立列的维数是length(x),本函数将沿此维开始操作。
·z=trapz(x,y,DIM)命令或是z=trapz(y,DIM)命令求y的交叉维DIM的积分,其中x的长度必须等于size(y,DIM)。
例题 利用trapz函数求积分
>> x1=[1 2 3 4 5 6 7 8 9]
x1 =
1 2 3 4 5 6 7 8 9
>> y1=trapz(x1)
y1 =
40
>> x2=[1 2 3;4 5 6;7 8 9]
x2 =
1 2 3
4 5 6
7 8 9
>> trapz(x2)
ans =
8 10 12
>> trapz(x2,1)
ans =
8 10 12
>> trapz(x2,2)
ans =
4
10
16
>> x3=[1 2 3]
x3 =
1 2 3
>> trapz(x3,x2)
ans =
8 10 12
从上面的例子可以看出,cumsum函数对向量求积分时,返回一个向量,对矩阵求积分时,返回一个矩阵,而trapz函数对向量求积分时,返回一个数值,而对矩阵求积分时,返回一个向量,这是它们之间不同之处。