我正在寻找求解两个向量的定积分,我尝试解释一下。
我知道:数字的 z 向量和数字的 G(z) 向量。
积分的极限是 zmin 和 zmax
我应该计算: [G(z) * z^(7/6)] dz
的 zmin,zmax 之间的积分我可以用下面的代码解决吗?
For i = zmin:zmax
myresult = G(z(i))*z(i)^(7/6)
end
(之前写过)
您可以使用数值积分。
定义G(z)为函数句柄,待积分函数为 另一个。您可以在我的其他答案中找到示例。
所以你的目标是计算
[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'
是计算向量点积的方法。