0

我需要在matlab中计算以下积分

\int_x^1 f(t) dt

我有 f(t) 作为数字向量的地方。我知道 cumtrapz 从 0 到 x,但是当它从 x 到 1 时,你怎么做呢?

4

1 回答 1

0

这是一个更数学的解决方案,但是

( \int_1^0 f(t) dt ) + ( \int_0^xf(t) dt )

相当于负

\int_x^1 f(t) dt

因此,如果你能找到 \int_0^xf(t) dt,你应该很容易找到你要找的东西。

希望这会有所帮助。

(请原谅任何语法错误,我对语法不熟悉。这是一个数学解决方案,可能有更好的程序解决方案)

编辑:作为澄清,这是在上面的评论中指出的(感谢@Rody Oldenhuis 的澄清):

“我相信这是微积分基本定理 [FTC] 的结果,对于任何实值函数f和极限ab, int(f, a,b) == -int(f, b,a)。所以确实,......使用flipudorfliplr在你的 上f,找到极限并使用cumtrapz,不要忘记负号:)”

事实上,这是真的——这个属性是 FTC 第二部分的结果,只要f在区间内是实值的[a,b](注意f 不需要是连续的)。此外,我在上面提到的 sum 属性也是第二个 FTC 的结果:int(f, a,b) + int(f, b,c) == int(f, a,c).

于 2013-06-18T02:41:12.197 回答