主要内容

trapz

梯形数值积分

描述

例子

Q = trapz(<一个href="//www.tatmou.com/it/it/help/matlab/ref/#buaijhv-1-Y" class="intrnllnk">Y)计算的近似积分Y通过<一个href="//www.tatmou.com/it/it/help/matlab/ref/trapz.html" class="intrnllnk">梯形法单位间距。的大小Y确定要沿着的维度进行积分:

  • 如果Y是向量吗trapz (Y)的近似积分是Y

  • 如果Y是矩阵吗trapz (Y)对每一列进行积分,并返回一个包含积分值的行向量。

  • 如果Y那么是多维数组吗trapz (Y)对第一个不等于1的维度积分。这个维度的大小变为1,其他维度的大小保持不变。

例子

Q = trapz(<一个href="//www.tatmou.com/it/it/help/matlab/ref/#buaijhv-1-X" class="intrnllnk">X,<一个href="//www.tatmou.com/it/it/help/matlab/ref/#buaijhv-1-Y" class="intrnllnk">Y)集成了Y关于坐标或标量间距的X

  • 如果X是坐标的向量吗长度(X)必须等于的第一个维度的大小Y它的大小不等于1。

  • 如果X是标量间距吗trapz (X, Y)等于X * trapz (Y)

例子

Q = trapz(___,<一个href="//www.tatmou.com/it/it/help/matlab/ref/#buaijhv-1-dim" class="intrnllnk">昏暗的)沿着维度积分昏暗的使用任何前面的语法。您必须指定Y,并可选地指定X.如果你指定X,则它可以是标量或长度等于的向量大小(Y,昏暗的).例如,如果Y是矩阵吗trapz (X, Y, 2)集成的每一行Y

例子

全部折叠

计算一个向量的积分,其中数据点之间的间隔为1。

创建数据的数字向量。

Y = [1 4 9 16 25];

Y包含函数值 f x ) x 2 在定义域[1,5]中。

使用trapz对单位间距的数据进行积分。

Q = trapz(Y)
Q = 42

这个近似积分得到的值为42.在这种情况下,准确的答案是少一点, 4 1 1 3. .的trapz函数高估了积分的值,因为f (x)是向上凹的。

计算一个向量的积分,其中数据点之间的间隔是均匀的,但不等于1。

创建域向量。

X = 0:pi/100:pi;

计算正弦函数X

Y = sin(X);

集成Y使用trapz

Q = trapz(X,Y)
Q = 1.9998

当点之间的间距是常数,但不等于1时,另一种方法是为X是指定标量间距值。这样的话,trapz(π/ 100,Y)π/ 100 * trapz (Y)

对数据间距不均匀的矩阵行进行积分。

创建矢量x-坐标和以不规则间隔发生的观测矩阵。一排排的Y表示速度数据,取于X三种不同的试验。

X = [1 2.5 7 10];Y = [5.2 7.7 9.6 13.2;4.8 7.0 10.5 14.5;4.9 6.5 10.2 13.8];

使用trapz对每一行进行独立积分,求出每次试验的总距离。由于数据不是按常数间隔计算的,请指定X表示数据点之间的间距。指定Dim = 2由于数据是在行的Y

Q1 = trapz(X,Y,2)
Q1 =3×182.8000 85.7250 82.1250

结果是一个包含积分值的列向量,每一行对应一个Y

创建一个域值网格。

X = -3:.1:3;Y = -5:.1:5;[X,Y] = meshgrid(X,Y);

计算函数 f x y ) x 2 + y 2 在电网上。

F = x .²+ y .²;

trapz集成数值数据而不是函数表达式,因此通常不需要知道表达式就可以使用trapz在一个数据矩阵上。在已知函数表达式的情况下,可以使用积分integral2,或integral3

使用trapz来近似二重积分

- 5 5 - 3. 3. x 2 + y 2 ) d x d y

要对数值数据数组执行双重或三重积分,巢函数调用trapz

I = trapz(y,trapz(x,F,2))
I = 680.2000

trapz执行以下的集成x首先,生成一个列向量。然后,积分结束y将列向量缩减为单个标量。trapz稍微高估了680的准确答案,因为f (x, y)是向上凹的。

输入参数

全部折叠

数值数据,指定为向量、矩阵或多维数组。默认情况下,trapz的第一维积分Y它的大小不等于1。

数据类型:|
复数支持:金宝app是的

点间距,指定为1(默认),一个统一的标量间距,或一个坐标向量。

  • 如果X是标量,那么它指定了数据点和之间的均匀间距trapz (X, Y)等于X * trapz (Y)

  • 如果X是向量,那么它指定了x-坐标表示数据点和长度(X)必须与中积分维的大小相同Y

数据类型:|

操作的维度,指定为正整数标量。如果不指定维数,则默认为第一个大小大于1的数组维数。

考虑一个二维输入数组,Y

  • trapz (Y, 1)的列中的连续元素Y并返回一个行向量。

    trapz(Y,1)列计算

  • trapz (Y, 2)的行中的连续元素Y并返回一个列向量。

    trapz(Y,2)行计算

如果昏暗的大于ndims (Y),然后trapz返回大小相同的零数组Y

更多关于

全部折叠

梯形法

trapz用梯形法进行数值积分。这种方法通过将区域分解成具有更容易计算的区域的梯形来逼近在区间内的积分。例如,这里是正弦函数的梯形积分,使用8个均匀间隔的梯形:

sin(x)函数的一个周期的图,在曲线下面有八个梯形,以估计其面积

对于与N + 1等距点,近似值是

一个 b f x ) d x b 一个 2 N n 1 N f x n ) + f x n + 1 ) ) b 一个 2 N f x 1 ) + 2 f x 2 ) + + 2 f x N ) + f x N + 1 )

每个点之间的间距等于标量值 b 一个 N .默认MATLAB®使用间距为1。

如果之间的间距N + 1积分不是常数,则公式推广为

一个 b f x ) d x 1 2 n 1 N x n + 1 x n ) f x n ) + f x n + 1 )

在哪里 一个 x 1 < x 2 < < x N < x N + 1 b , x n + 1 x n ) 是每对连续点之间的间距。

提示

  • 使用trapz而且cumtrapz对离散数据集进行数值积分。使用积分integral2,或integral3相反,如果数据的函数表达式可用。

  • trapz将它所操作的维度的大小减小到1,并只返回最终的积分值。cumtrapz还返回中间积分值,保留它所操作的维度的大小。

扩展功能

版本历史

R2006a之前介绍