все. У меня проблема с циклами. Он выполняется только один раз и не выполняет итерацию.Рекурсивная петля в Matlab не может итерации
Я пытаюсь найти температуру поверхности космического корабля как функцию времени. Радиационный тепловой поток зависит от текущей температуры, поэтому следующая температура в петле должна зависеть от температуры секунду назад. Это не весь сценарий, но может ли кто-нибудь сказать мне, что случилось с моей петлей?
Спасибо!
% Starting with given surface and interior temperatures, find each new
% temperature with each heat flux every second through one orbit.
timeline = 1:1:time1;
Ts = zeros(size(timeline));
Ts(1) = 240; % initial surface temperature, Kelvins`
for n = 2:length(time1)
Ts(n) = (solarflux + IRs - (sigma*ems_mli*surfarea*(Ts(n-1)^4)))/(m*c) + Ts(n-1);
end
%% Plotting
figure(1)
plot(timeline,Ts)
xlabel('seconds');
ylabel('surface temperature (Kelvins)');
Это не рекурсию и ' time1' не определен. Пожалуйста, предоставьте [mcve]. – excaza
В дополнение к комментарию от excaza (http : //stackoverflow.com/questions/38733803/recursive-loop-in-matlab-cant-iterate#comment64843709_38733803), вы можете посмотреть на отладчик http://se.mathworks.com/help/matlab/debugging-code .html. Это должно решить вашу проблему довольно легко. – patrik