Mi rendo conto che la domanda è posta in modo strano, cerco di spiegarmi;
Ho definito alcune funzioni:
K_prop(P,T)
K_isob(P,T)
K-nbut(P,T)
K_isop(P,T)
K_npen(P,T)
Le utilizzo nel seguente modo:
%utilizzo lo stesso ciclo per calcolare la temperatura al fondo della colonna
a=-42;
b=36.1;
j=0;
while abs(a-b)>10*eps && j<1000
T_B=(a+b)/2;
f=prop_B*K_prop(P,T_B)+isob_B*K_isob(P,T_B)+nbut_B*K_nbut(P,T_B)+isop_B*K_isop(P,T_B)+npen_B*K_npen(P,T_B)-1;
j=j+1
fa=prop_B*K_prop(P,a)+isob_B*K_isob(P,a)+nbut_B*K_nbut(P,a)+isop_B*K_isop(P,a)+npen_B*K_npen(P,a)-1;
fb=prop_B*K_prop(P,b)+isob_B*K_isob(P,b)+nbut_B*K_nbut(P,b)+isop_B*K_isop(P,b)+npen_B*K_npen(P,b)-1;
if abs(f)<10*eps
break
else
if f<0
if (fa*f)>0
a=T_B;
else
b=T_B;
end
else
if (fa*f)<0
b=T_B;
else
a=T_B;
end
end
end
end
T_B= (a+b)/2
il ciclo while funziona e trova correttamente la grandezza che mi serve per bisezione, però in command window mi compare:
.
.
.
.
j=
47
.
.
.
.
.
.
j =
48
K_prop =
4.4675
K_isob =
1.4557
K_nbut =
1.0098
K_isop =
0.3294
K_npen =
0.2387
K_prop =
4.4675
K_isob =
1.4557
K_nbut =
1.0098
K_isop =
0.3294
K_npen =
0.2387
K_prop =
4.4675
K_isob =
1.4557
K_nbut =
1.0098
K_isop =
0.3294
K_npen =
0.2387
j =
49
K_prop =
4.4675
K_isob =
1.4557
K_nbut =
1.0098
K_isop =
0.3294
K_npen =
0.2387
K_prop =
4.4675
K_isob =
1.4557
K_nbut =
1.0098
K_isop =
0.3294
K_npen =
0.2387
T_B =
-1.2949
cioè mi butta anche il valore di queste funzioni per ogni iterazione che fa e dunque mi rende illeggibile la command window dove ho chiesto anche eventuali messaggi d'errore nel caso alcune condizioni non siano rispettate..
Come posso risolvere questo problema? grazie in anticipo =)