积分为正值

时间:2018-02-10 23:41:07

标签: r integration

我想整合一个功能,我只想整合我的功能的正值: 我试过了:

f<-function(x) return(sin(10*x))    
integrate(f[f>0],-pi,pi)

但就像我预期的那样,它不起作用。 我能怎么做 ? 感谢

1 个答案:

答案 0 :(得分:3)

解决方案

f = function(x) return(ifelse(sin(10*x) > 0, sin(10*x), 0))    
integrate(f, -pi, pi)
#2 with absolute error < 7.7e-05

解释

函数f(x)= 0的(确定)积分始终为0,因此不会添加到结果中。因此,当原始ff时,我们可以安全地重新定义> 0作为您感兴趣的函数,否则将其设置为f(x)= 0。