
13 Mai
2016
13 Mai
'16
19:55
Caros, boa tarde, Eu estou tentando montar um programa de troca de calor com um reservatório. Dentro de uma janela de tempo de 63 minutos, se uma dada combinação é maior ou igual a 3, então o reservatório é aberto e recebe uma quantidade de calor. Ele é fechado se essa combinação atinge 0.5, ou se ela atinge um valor que é igual a de abertura mais 2, ou se atinge o limite de tempo, 63 minutos. Como é possível ver abaixo, a operação fecha duas vezes, abre e fecha no mesmo instante( então ele não esta mudando o j para que feche com o valor de abertura +2) e ainda está usando o tempo limite sem precisar. O resultado era para ser uma abertura no instante 17, um encerramento no 44, uma abertura no instante 45 e um encerramento por tempo no instante 63 já que ele não atinge 6.0176641+2 ou 0.5). Eu sei que que o erro está nas posições dos laços mas já mexi de várias formas e nada. Alguém saberia me dizer onde estou errando? Muito obrigada, Michelle vF18 [1] -0.3121193 -0.3121193 -0.3121193 -0.3121193 -2.0091919 -0.3121193 -0.3121193 -0.3121193 [9] -0.3121193 -0.3121193 -0.3121193 -0.3121193 -0.3121193 -0.3121193 -2.0091919 1.0156736 [17] 3.6570085 1.0599739 1.0599739 1.0599739 3.7013087 3.7013087 4.1291396 1.5321050 [25] 2.4320670 1.5321050 1.5321050 2.9041981 2.4763673 3.8041601 3.3763293 3.3763293 [33] 3.8484604 5.5455330 2.9484984 3.8484604 3.8484604 3.8484604 4.3205915 2.6235189 [41] 3.8927606 1.2957260 3.4206295 8.6146987 6.0176641 6.4454950 6.4454950 9.0425296 [49] 6.4454950 6.4454950 4.3205915 4.3205915 4.3205915 3.4649298 3.8927606 3.8927606 [57] 3.8927606 3.8927606 3.8927606 3.8927606 3.8927606 3.8927606 3.8927606 > matrizzF18<-matrix(NA,n,2) > colnames(matrizzF18)<-c("Abre F18","Fecha F18") > j <- 1 > > while (j <= n) { + k<-1 + + if(abs(vF18[j])>=3 && j<63){ + abre_F18<-5*s.F18[j]-round(c18_17)*5*s.F17[j]-round(c18_19)*5*s.F19[j] + matrizzF18[j,1]<-abre_F18 + while (abs(vF18[j + k])>0.5 && j+k<63) { + + if(abs(vF18[j + k])>abs(vF18[j])+2){ + fecha_F18<--5*s.F18[j+k]+round(c18_17)*5*s.F17[j+k]+round(c18_19)*5*s.F19[j+k] + matrizzF18[j + k,2]<-fecha_F18 + + k<-k+1 + break + } + else k <- k + 1 } + + fecha_F18<--5*s.F18[j+k]+round(c18_17)*5*s.F17[j+k]+round(c18_19)*5*s.F19[j+k] + matrizzF18[j + k,2]<-fecha_F18 + } + + j=j+k + } > print(matrizzF18) Abre F18 Fecha F18 [1,] NA NA [2,] NA NA [3,] NA NA [4,] NA NA [5,] NA NA [6,] NA NA [7,] NA NA [8,] NA NA [9,] NA NA [10,] NA NA [11,] NA NA [12,] NA NA [13,] NA NA [14,] NA NA [15,] NA NA [16,] NA NA [17,] 0.4 NA [18,] NA NA [19,] NA NA [20,] NA NA [21,] NA NA [22,] NA NA [23,] NA NA [24,] NA NA [25,] NA NA [26,] NA NA [27,] NA NA [28,] NA NA [29,] NA NA [30,] NA NA [31,] NA NA [32,] NA NA [33,] NA NA [34,] NA NA [35,] NA NA [36,] NA NA [37,] NA NA [38,] NA NA [39,] NA NA [40,] NA NA [41,] NA NA [42,] NA NA [43,] NA NA [44,] NA -0.45 [45,] 0.4 -0.40 [46,] NA NA [47,] NA NA [48,] NA -0.45 [49,] 0.4 -0.40 [50,] NA NA [51,] NA NA [52,] NA NA [53,] NA NA [54,] NA NA [55,] NA NA [56,] NA NA [57,] NA NA [58,] NA NA [59,] NA NA [60,] NA NA [61,] NA NA [62,] NA NA [63,] NA -0.35