Codice matlab ciclo while

di il
1 risposte

Codice matlab ciclo while

Buongiorno, sono nuovo del forum ed alle prime armi con il matlab, nel fare il codice qui sotto , quando vado a compilare è come se non mi riconoscesse il ciclo while , c'è qualcosa di sbagliato?
A_0 =238.84;
T_rif = 273.15;
T_s =633.31;%% in Kelvin
Q_t = 13333333.33;
beta = 0.02;
sigma = 5.67*10^-8;
A_pe = 113.088;
alfa= 0.97;
w_f=5.84;
cp_f = 1130;
h_c = 10;
T_g = 1273;%% in Kelvin
I = 0.47;
Q_r= 10000000;
qr1 =(alfa*A_pe*I*sigma*((T_g)^4 - (T_s)^4)) + ((h_c*A_0)*(T_g -(T_s)));
dqrr1= (abs(qr1-Q_r))/qr1;
while(dqrr1<0.01)
T_g = T_g + 1;
qr1 =(alfa*A_pe*I*sigma*((T_g)^4 - (T_s)^4)) + ((h_c*A_0)*(T_g -(T_s)));
dqrr1= (abs(qr1-Q_r))/qr1;
end
percent = dqrr1*100;

In pratica vorrei incrementare di un grado ogni volta la temperatura T_g fino a quando dqrr1 < 0.01 , vi sembra giusto ?Grazie

1 Risposte

  • Re: Codice matlab ciclo while

    Hai provato ad eseguire il codice in ?

    Il problema è molto semplice: in base ai valori delle variabili che hai definito prima del ciclo "while", il valore di dqrr1 è 0.1449 che è maggiore di 0.01.

    Per questo motivo la condizione dqrr1<0.01 non è verificata alla prima iterazione del ciclo while per cui il ciclo non viene eseguito.

    Dovresti rivedere l'assegnazione dei valori iniziali delle variabili che usi per calcolare la prima volta dqrr1 oppure rivedere il valore della soglia con il quale ne confronti il valore nel ciclo while.
Devi accedere o registrarti per scrivere nel forum
1 risposte