Lorsque j'essaie d'exécuter le code suivant pour 10000 itérations, j'obtiens l'erreur suivante: erreur dans rep (G1 [ 2], G1 [ 3]): argument 'times' non valide. Donc, je ne sais pas comment changer le code pour corriger cette erreur. Fondamentalement, je veux simplement créer des séries chronologiques pour les performances du générateur en utilisant l'équation pour le temps de défaillance et le temps de réparation pendant 8736 heures dans l'année afin que j'ai la série chronologique en heures lorsque le générateur fonctionne quand il ne l'est pas. Les conditions de démarrage sont que le générateur fonctionne la première heure. Pour sûr, il existe une solution plus élégante pour simuler cela, je ne suis tout simplement pas en mesure de le trouver. Tout commentaire ou aide sera apprécié.
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
Donc, la sortie souhaitée est 8736 valeurs de 12 quand est ON et 0 quand est OFF
Vérifiez ce que G1[,3]
est. L'erreur peut être causée par des valeurs négatives dans l'argument times