主要内容

trapz

梯形数值积分

描述

例子

Q = trapz (<一个href="//www.tatmou.com/ch/help/matlab/ref/#buaijhv-1-Y" class="intrnllnk">Y计算的近似积分Y通过<一个href="//www.tatmou.com/ch/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/ch/help/matlab/ref/#buaijhv-1-X" class="intrnllnk">X,<一个href="//www.tatmou.com/ch/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/ch/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:π/ 100:π;

计算sinX

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表示数据点之间的间距。指定昏暗的= 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 ^2 + y ^2;

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

使用trapz来近似二重积分

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

要对数字数据数组执行双或三次积分,可嵌套函数调用trapz

我= trapz (y, trapz (x, F, 2))
我= 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, 2)的行中连续的元素Y并返回一个列向量。

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

更多关于

全部折叠

梯形法

trapz用梯形方法进行数值积分。这种方法通过将面积分解成具有更容易计算面积的梯形来近似积分。例如,这是一个正弦函数的梯形积分使用八个等间距梯形:

对于与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 为每一对连续点之间的间距。

提示

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

  • trapz将其操作的维度的大小减少到1,并仅返回最终的集成值。cumtrapz还返回中间的集成值,保留它所操作的维度的大小。

扩展功能

之前介绍过的R2006a