我正在寻找解决两个向量的定积分,我试着解释一下。
我知道:z数字向量和G(z)数字向量。
积分的极限是zmin和zmax
我应该计算: zmin之间的积分,[G(z)* z ^(7/6)] dz
的zmax我可以使用以下代码解决吗?
For i = zmin:zmax
myresult = G(z(i))*z(i)^(7/6)
end
答案 0 :(得分:0)
(之前写过)
您可以使用numerical integral。
将G(z)定义为函数句柄,并将要集成的函数定义为 另一个。您可以在my other answer中找到一个示例。
因此,您的目标是计算[G(z) * z^(7/6)] * dz
的总和,其中G(z)
和z
是预先计算的数字向量,dz
是一个小的增量值。
dz = (zmax - zmin) / length(G(z));
S = G * z' * dz;
S
应该是结果。让我解释。
G(z)
搞砸了(为此道歉)。您已经(部分)评估了要集成的函数,即G(z)
和z
。 G(z)
和z
是数字数组。数组从整数开始索引,从1开始。因此G(z(i))
可能不是有效表达式,因为z(i)
不能保证是整数。如果您以这种方式定义G(z)
- G(i) = some_function (z(i));
,则上述代码才能正常运行。因此,两个数组中相同索引的每个元素都具有有意义的关系。 for
循环有效,但效率低下。 G * z'
是计算vector dot product的方法。