for Temp = 1000:10:6000
cp_CO2 = ((2e-18)*Temp.^5) - ((4e-14)*Temp.^4) + ((3e-10)*Temp.^3) - ((8e-07)*Temp.^2) + (0.0013*Temp) + 0.5126;
cp_CO = ((5e-12)*Temp.^3) - ((7e-08)*Temp.^2) + (0.0003*Temp) + 0.9657;
cp_H2O = ((7e-12)*Temp.^3) - ((1e-07)*Temp.^2) + (0.0008*Temp) + 1.6083;
cp_N2 = ((-1e-18)*Temp.^5) + ((2e-14)*Temp.^4) - ((8e-11)*Temp.^3) + ((1e-07)*Temp.^2) + (0.0001*Temp) + 0.9985;
D_H = (y(1)*cp_CO2*44*(25-Temp)) + (y(2)*cp_CO*28*(25-Temp)) + (y(3)*cp_H2O*18*(25-Temp)) + (percent_air*x_final(2)*3.76*28*(25-Temp));
DELTA_H = round(D_H);
if DELTA_H == delta_h
break
end
end
Цикл 'for' в моем коде выше, переменные delta_h, y иcent_air были определены и рассчитаны / введены ранее. Если я работаю над циклом как ячейка и вручную увеличиваю Temp, тогда значения D_H и т. Д. Все меняются. Но по какой-то причине, когда я пытаюсь выполнить цикл, оператор 'if', кажется, не вступает в силу, и окончательные значения, где Temp = 6000, отображаются в рабочей области вместо значения Temp, в котором он создает DELTA_H, равный это delta_h. Впервые я использую MATLAB примерно за 2 года (я учусь на 3-м курсе по механике английского языка), поэтому, пожалуйста, прости меня, если это простая ошибка, которую нужно исправить.