差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
r:maintenance:hardtime [2018/12/10 09:10] – [ブロック取り替え] watalur:maintenance:hardtime [2018/12/10 09:18] (現在) – [時間計画保全] watalu
行 5: 行 5:
  
 <code> <code>
-select.distribution <- function(dist="weibull") {+select.distribution function(dist="weibull") {
   if(dist %in% c("weibull","gamma","lnorm")) {   if(dist %in% c("weibull","gamma","lnorm")) {
     distrname <- dist     distrname <- dist
行 29: 行 29:
  
 <code> <code>
-model <- select.distribution("lognormal"+model select.distribution("lognormal"
-model <- select.distribution("weibull"+model select.distribution("weibull"
-model <- select.distribution("gamma")+model select.distribution("gamma")
 </code> </code>
  
行 87: 行 87:
 <code> <code>
 # 確率密度関数 # 確率密度関数
-<- function(x) {+function(x) {
   return(model$d(x,model.parameters[1],model.parameters[2]))   return(model$d(x,model.parameters[1],model.parameters[2]))
 } }
行 95: 行 95:
 <code> <code>
 # 生存関数 # 生存関数
-F.bar <- function(x) {+F.bar function(x) {
   return(1-model$p(x,model.parameters[1],model.parameters[2]))   return(1-model$p(x,model.parameters[1],model.parameters[2]))
 } }
行 106: 行 106:
 <code> <code>
 # コストレートの式 (integrateは1変数関数の数値積分をしてくれるRの関数) # コストレートの式 (integrateは1変数関数の数値積分をしてくれるRの関数)
-<- function(x) {+function(x) {
   return((Cc*integrate(f,0,x)$value+Cp*(1-integrate(f,0,x)$value))/(integrate(F.bar,0,x)$value))   return((Cc*integrate(f,0,x)$value+Cp*(1-integrate(f,0,x)$value))/(integrate(F.bar,0,x)$value))
 } }
行 134: 行 134:
 <code> <code>
 # コストレートのグラフを描く # コストレートのグラフを描く
-g.list <- NULL+g.list NULL
 for( i in c(1:500) ) { for( i in c(1:500) ) {
-  g.list <- append(g.list,g(i/10))+  g.list append(g.list,g(i/10))
 } }
 plot(c(1:500)/10,g.list,type="b") plot(c(1:500)/10,g.list,type="b")
行 153: 行 153:
 <code> <code>
 # 準備のための乱数データ発生 # 準備のための乱数データ発生
-M.t.prep <- function() {+M.t.prep function() {
   rdist <- function(n) {   rdist <- function(n) {
     return(model$r(n,model.parameters[1],model.parameters[2]))     return(model$r(n,model.parameters[1],model.parameters[2]))
行 173: 行 173:
 <code> <code>
 # 再生関数をモンテカルロ計算で求める # 再生関数をモンテカルロ計算で求める
-M.t <- function(block.cycles) {+M.t function(block.cycles) {
   n <- 100000   n <- 100000
   X <- rep(0,n)   X <- rep(0,n)
行 206: 行 206:
  
 # 再生関数のグラフ # 再生関数のグラフ
-plot((1:300)/10,M.t((1:300)/10),xlab="Time", ylab="M(t)")+plot((1:300)/10,M.t((1:300)/10), 
 +     xlab="Time",  
 +     ylab="M(t)")
  
 # ブロック取り替えのコストレートのグラフ # ブロック取り替えのコストレートのグラフ
行 214: 行 216:
  
 # ブロック取り替えの子ストレート # ブロック取り替えの子ストレート
-<- function(cycle.length) {+function(cycle.length) {
   return((M.t(cycle.length)*Cc+Cp)/cycle.length)   return((M.t(cycle.length)*Cc+Cp)/cycle.length)
 } }