当我尝试运行以下代码进行10000次迭代时,会出现以下错误: Error in rep(G1[, 2], G1[, 3]) : invalid 'times' argument。所以不知道如何更改代码来修复该错误。基本上,只想使用发生故障时间和修复时间的方程,在一年中的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
因此,期望输出为8736个值为12的状态为ON时,值为0的状态为OFF