mrl(t)是我自定义的函数。
mrl( c( 10, 20, 30 ) )得到的结果和单独用mrl(10), mrl(20), mrl(30)得到的及如果不一致[s:15] 搞不明白问什么。
运行结果如下:
<br />
> mrl( c( 10, 20, 30 ) )<br />
[1] 31.06531 45.60890 63.48645<br />
> mrl(10)<br />
[1] 31.06531<br />
> mrl(20)<br />
[1] 33.50033<br />
> mrl(30)<br />
[1] 34.81276<br />
源程序在此:
<br />
###参数<br />
a <- 100<br />
b <- 0.5<br />
n <- 2<br />
###被积函数<br />
integrand <- function(x) exp(-n * exp((x / a)^b))<br />
###Mean Residual Life<br />
mrl <- function(t) exp( n * exp((t / a)^b))*integrate(integrand, lower = t, upper = 2000)$value<br />
</p>