主要内容

cumtrapz

累积梯形数值积分

描述

例子

Q = cumtrapz(Y计算的近似累积积分Y通过梯形法单位间距。的大小Y确定要沿着的维度进行积分:

  • 如果Y是向量吗cumtrapz (Y)的累积积分是Y

  • 如果Y是矩阵吗cumtrapz (Y)是每一列的累积积分。

  • 如果Y那么是多维数组吗cumtrapz (Y)对第一个不等于1的维度积分。

例子

Q = cumtrapz(XY集成了Y关于坐标或标量间距的X

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

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

例子

Q = cumtrapz(___昏暗的沿着维度积分昏暗的使用任何前面的语法。您必须指定Y,并可选地指定X.如果你指定X,则它可以是标量或长度等于的向量大小(Y,昏暗的).例如,如果Y是矩阵吗cumtrapz (X, Y, 2)累计整合每一行Y

例子

全部折叠

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

创建数据的数字向量。

Y = [1 4 9 16 25];

Y包含函数值 f x x 2 在域中(1 - 5)

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

Q = cumtrapz(Y)
Q =1×50 2.5000 9.0000 21.5000 42.0000

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

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

创建域向量。

X = 0:pi/5:pi;

计算正弦函数X

Y = sin(X');

累计积分Y使用cumtrapz.当点之间的间距是常数,但不等于1时,另一种方法是为X是指定标量间距值。这样的话,cumtrapz(π/ 5,Y)π/ 5 * cumtrapz (Y)

Q = cumtrapz(X,Y)
Q =6×10 0.1847 0.6681 1.2657 1.7491 1.9338

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

创建矢量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];

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

Q1 = cumtrapz(X,Y,2)
Q1 =3×40 9.6750 48.6000 82.8000 0 8.8500 48.2250 85.7250 0 8.5500 46.1250 82.1250

其结果是一个大小与Y每一行的累积积分。

中执行嵌套集成x而且y的方向。绘制结果以可视化两个方向的累积积分值。

为域创建一个值网格。

X = -2:0.1:2;Y = -2:0.2:2;[X,Y] = meshgrid(X,Y);

计算函数 f x y 10 x 2 + 20. y 2 在电网上。

F = 10* x。^2 + 20* y .^2;

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

使用cumtrapz来近似二重积分

一个 b - 2 b - 2 一个 1 0 x 2 + 2 0 y 2 d x d y

要执行此双重积分,请使用嵌套函数调用cumtrapz.内部调用首先集成数据行,然后外部调用集成列。

I = cumtrapz(y,cumtrapz(x,F,2));

画出表示原始函数的曲面和表示累积积分的曲面。累积积分曲面上的每个点给出二重积分的一个中间值。中的最后一个值给出二重积分的整体近似,I(end) = 642.4.用红星标出图中的这一点。

冲浪(X, Y, F,“EdgeColor”“没有”)包含(“X”) ylabel (“Y”)举行冲浪(X, Y,我,“FaceAlpha”, 0.5,“EdgeColor”“没有”) plot3 (X(结束),Y(结束),我(结束),的r *)举行

图中包含一个轴对象。带有xlabel X, ylabel Y的坐标轴对象包含3个类型为surface, line的对象。一行或多行仅使用标记显示其值

输入参数

全部折叠

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

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

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

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

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

数据类型:|

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

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

  • cumtrapz (Y, 1)的列中的连续元素Y

    cumtrapz(Y,1)列计算

  • cumtrapz (Y, 2)的行中的连续元素Y

    cumtrapz(Y,2)行计算

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

提示

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

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

扩展功能

C/ c++代码生成
使用MATLAB®Coder™生成C和c++代码。

版本历史

R2006a之前介绍