<div dir="ltr">Caros, boa tarde,<div><br></div><div>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.</div><div><br></div><div>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.</div><div><br></div><div>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).</div><div><br></div><div>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?</div><div><br></div><div>Muito obrigada,</div><div><br></div><div>Michelle </div><div><br></div><div><div> vF18</div><div> [1] -0.3121193 -0.3121193 -0.3121193 -0.3121193 -2.0091919 -0.3121193 -0.3121193 -0.3121193</div><div> [9] -0.3121193 -0.3121193 -0.3121193 -0.3121193 -0.3121193 -0.3121193 -2.0091919  1.0156736</div><div>[17]  3.6570085  1.0599739  1.0599739  1.0599739  3.7013087  3.7013087  4.1291396  1.5321050</div><div>[25]  2.4320670  1.5321050  1.5321050  2.9041981  2.4763673  3.8041601  3.3763293  3.3763293</div><div>[33]  3.8484604  5.5455330  2.9484984  3.8484604  3.8484604  3.8484604  4.3205915  2.6235189</div><div>[41]  3.8927606  1.2957260  3.4206295  8.6146987  6.0176641  6.4454950  6.4454950  9.0425296</div><div>[49]  6.4454950  6.4454950  4.3205915  4.3205915  4.3205915  3.4649298  3.8927606  3.8927606</div><div>[57]  3.8927606  3.8927606  3.8927606  3.8927606  3.8927606  3.8927606  3.8927606</div><div>> matrizzF18<-matrix(NA,n,2)</div><div>> colnames(matrizzF18)<-c("Abre F18","Fecha F18")</div><div>> j <- 1</div><div>> </div><div>> while (j <= n) { </div><div>+ k<-1</div><div>+   </div><div>+   if(abs(vF18[j])>=3 && j<63){</div><div>+     abre_F18<-5*s.F18[j]-round(c18_17)*5*s.F17[j]-round(c18_19)*5*s.F19[j]</div><div>+     matrizzF18[j,1]<-abre_F18</div><div>+     while (abs(vF18[j + k])>0.5 && j+k<63) { </div><div>+       </div><div>+       if(abs(vF18[j + k])>abs(vF18[j])+2){ </div><div>+         fecha_F18<--5*s.F18[j+k]+round(c18_17)*5*s.F17[j+k]+round(c18_19)*5*s.F19[j+k]</div><div>+         matrizzF18[j + k,2]<-fecha_F18</div><div>+       </div><div>+       k<-k+1</div><div>+       break</div><div>+       }</div><div>+       else k <- k + 1 }</div><div>+    </div><div>+     fecha_F18<--5*s.F18[j+k]+round(c18_17)*5*s.F17[j+k]+round(c18_19)*5*s.F19[j+k]</div><div>+     matrizzF18[j + k,2]<-fecha_F18</div><div>+   }</div><div>+   </div><div>+   j=j+k</div><div>+ }</div><div>> print(matrizzF18)</div><div>      Abre F18 Fecha F18</div><div> [1,]       NA        NA</div><div> [2,]       NA        NA</div><div> [3,]       NA        NA</div><div> [4,]       NA        NA</div><div> [5,]       NA        NA</div><div> [6,]       NA        NA</div><div> [7,]       NA        NA</div><div> [8,]       NA        NA</div><div> [9,]       NA        NA</div><div>[10,]       NA        NA</div><div>[11,]       NA        NA</div><div>[12,]       NA        NA</div><div>[13,]       NA        NA</div><div>[14,]       NA        NA</div><div>[15,]       NA        NA</div><div>[16,]       NA        NA</div><div>[17,]      0.4        NA</div><div>[18,]       NA        NA</div><div>[19,]       NA        NA</div><div>[20,]       NA        NA</div><div>[21,]       NA        NA</div><div>[22,]       NA        NA</div><div>[23,]       NA        NA</div><div>[24,]       NA        NA</div><div>[25,]       NA        NA</div><div>[26,]       NA        NA</div><div>[27,]       NA        NA</div><div>[28,]       NA        NA</div><div>[29,]       NA        NA</div><div>[30,]       NA        NA</div><div>[31,]       NA        NA</div><div>[32,]       NA        NA</div><div>[33,]       NA        NA</div><div>[34,]       NA        NA</div><div>[35,]       NA        NA</div><div>[36,]       NA        NA</div><div>[37,]       NA        NA</div><div>[38,]       NA        NA</div><div>[39,]       NA        NA</div><div>[40,]       NA        NA</div><div>[41,]       NA        NA</div><div>[42,]       NA        NA</div><div>[43,]       NA        NA</div><div>[44,]       NA     -0.45</div><div>[45,]      0.4     -0.40</div><div>[46,]       NA        NA</div><div>[47,]       NA        NA</div><div>[48,]       NA     -0.45</div><div>[49,]      0.4     -0.40</div><div>[50,]       NA        NA</div><div>[51,]       NA        NA</div><div>[52,]       NA        NA</div><div>[53,]       NA        NA</div><div>[54,]       NA        NA</div><div>[55,]       NA        NA</div><div>[56,]       NA        NA</div><div>[57,]       NA        NA</div><div>[58,]       NA        NA</div><div>[59,]       NA        NA</div><div>[60,]       NA        NA</div><div>[61,]       NA        NA</div><div>[62,]       NA        NA</div><div>[63,]       NA     -0.35</div></div></div>