Matlab - Duda uso de for e if

 
Vista:

Duda uso de for e if

Publicado por Ignacio (2 intervenciones) el 12/12/2018 05:10:27
Resumo parte del programa de manera que se pueda entender. Se calculan valores de Q_col para diferentes valores de G. (eta y pérdidas también se calculan dentro del for) T_i corresponde a una temperatura. La idea es que cuando T_i baje hasta 30, se desactive Q_col, se active Q_aux y finalice cuando T_i llegue hasta 32. Pero con el código que tengo Q_aux se activa apenas baja de 32. Por favor agradecería mucho de su ayuda.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
for i=1:length(G)
 
   Q_col(i)=G(i)*eta(i)/1000;
   T_i(i+1)=T_i(i)+((Q_col(i)-Q_perdidas(i))*900)/(40000);
 
       if (30<=T_i(i+1)) && (T_i(i+1)<32)
             T_i(i)=T_i(i+1);
             Q_col(i)=0;
             Q_aux(i)=80;
 
       else
             Q_aux(i)=0;
 
       end
 
   T_i(i+1)=T_i(i)+((Q_col(i)+Q_aux(i)-Q_perdidas(i))*900)/(40000);
 
end
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de JOSE JEREMIAS CABALLERO
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Duda uso de for e if

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 12/12/2018 13:09:19
Podría ser de esta forma,
1
2
3
4
5
6
if 30<T(i+1) && T(i+1)<=31
    T(i)=T(i+1);
    Q(i)=0;
    aux(i)=80;
elseif 31<T(i+1) && T(i+1)<=32
    aux(i)=0;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Duda uso de for e if

Publicado por Ignacio (2 intervenciones) el 12/12/2018 21:40:21
El problema es que el sistema posee alta inercia térmica, por lo que toma varios valores entre 31 y 32. La idea es que la temperatura baje hasta 30 y se active aux(i) hasta que supere los 32. Así como está escrito, si la temperatura baja hasta 30 se activa, pero por ejemplo si sube hasta 31,2, en la siguiente iteración no seguiría subiendo hasta superar o igualar los 32.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de JOSE JEREMIAS CABALLERO
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Duda uso de for e if

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 12/12/2018 21:52:55
Podría poner un conjunto de datos en ese rango y resolverlo en una hoja y poner ese solución al foro.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar