变量下限时的数值积分

时间:2013-06-18 02:30:53

标签: matlab

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

\ int_x ^ 1 f(t)dt

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

1 个答案:

答案 0 :(得分:0)

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

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

相当于

的否定

\ int_x ^ 1 f(t)dt

因此,如果你能找到\ int_0 ^ x f(t)dt,你应该找到你想要的东西。

希望这有帮助。

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

编辑:作为澄清,上面的评论中提到了这一点(感谢@Rody Oldenhuis澄清):

“我认为这是微积分基本定理[FTC]的结果,对于任何实值函数f并限制abint(f, a,b) == -int(f, b,a)。确实如此......在flipud上使用fliplrf,找到限制并使用cumtrapz,并且不要忘记负号:)“

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