5

我有一个包含 358 个数字的向量。我想对这个向量进行数值积分,但我不知道这个向量的功能。

我发现我们可以使用 trapz 或 quad,但我真的不明白如何在没有该功能的情况下进行集成。

4

3 回答 3

8

如果您知道向量的水平间距,则可以使用trapz以便在没有函数的情况下对其进行积分。例如,y=sin(x)用 358 个部分从 0 到 pi 积分,

x=0:pi/357:pi;
y=sin(x);
area=trapz(x,y);

如果你只使用trapz(y),你会得到一个更大的数字,因为点之间的默认距离被假定为 1。这个问题可以通过乘以 x 点之间的距离来解决:

area=pi/357*trapz(y);
于 2010-05-18T22:00:54.590 回答
6

您无需知道函数即可进行数值积分;这就是trapz和的意义所在quad。只需传递trapz您的向量。这是文档的链接

于 2010-05-18T20:48:33.633 回答
1

将积分视为找到曲线下的区域,该区域由您的向量形成。嗯,它实际上不是一条曲线,而是多边形链。TRAPZ函数正在做什么,它找到由向量中每两个相邻点形成的每个梯形的面积之和,以及它们在 X 轴上的投影如果您的点之间的距离不均匀或距离不等于 1,请参阅函数文档。

您可以阅读有关此方法的更多信息,例如,在Wikipedia上。

于 2010-05-18T21:38:08.100 回答