kel*_*him 6 r time-series montecarlo
当我尝试为10000次迭代运行以下代码时,我得到以下错误.代表中的错误(G1 [,2],G1 [,3]):无效的'times'参数.所以不知道如何更改代码来修复该错误.基本上只是想创建发电机性能的时间序列,使用时间失败的等式和一年中8736小时的修复时间,这样我就可以在发电机运行的时间内以小时为单位.起始条件是发电机在第一个小时运行.肯定有一个更优雅的解决方案来模拟这个我只是无法找到它.任何评论或帮助将不胜感激.
MTTF<-2940 # MEDIUM TIME TO FAIL(hours)
MTTR<-60 # MEDIUM TIME TO REPAIR (hours)
TTF<--MTTF*log(runif(100))# equation for Time to fail
TTR<--MTTR*log(runif(100))# equation for Time to repair
mix<-rep(0,length(TTF)+length(TTR))
sw<-rep(0,length(TTF)+length(TTR))
for(i in 1:length(TTF)){
mix[2*i-1]<-TTF[i]
sw[2*i-1]<-1
mix[2*i]<-TTR[i]
}
cmix<-cumsum(mix)
ccmix<-cbind(cmix[1:which(cmix>8736)],sw[1:which(cmix>8736)])
ccmix[dim(ccmix)[1],1]<-8736
G1<-round(ccmix)
# transform binary values
G1[G1 == 1] <- 12 # is the capacity of the generator
G1 <- cbind(G1, c(G1[1,1], diff(G1[,1])))
a1 <- rep(G1[,2], G1[,3]) ## GENERATING 8736 Values
Run Code Online (Sandbox Code Playgroud)
因此,当打开时,所需的输出为8736值12,关闭时为0
检查是什么G1[,3].错误可能由times参数中的负值引起