jeder. Ich habe ein Problem mit Loops. Es wird nur einmal ausgeführt und iteriert nicht.rekursive Schleife in Matlab kann nicht iterieren
Ich versuche die Oberflächentemperatur eines Raumfahrzeugs als Funktion der Zeit zu finden. Der Strahlungswärmefluss hängt von der aktuellen Temperatur ab, daher sollte die nächste Temperatur in der Schleife von der Temperatur vor einer Sekunde abhängen. Das ist nicht das ganze Skript, aber kann mir jemand sagen, was mit meiner Schleife nicht stimmt?
Danke!
% 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)');
Dies ist nicht Rekursion und ' time1' ist nicht definiert. Bitte geben Sie eine [mcve]. – excaza
Zusätzlich zu dem Kommentar von excaza (http : //stackoverflow.com/questions/38733803/recursive-loop-in-matlab-cant-iterate#comment64843709_38733803) Sie können sich den Debugger http://se.mathworks.com/help/matlab/debugging-code ansehen .html. Dies sollte Ihr Problem recht einfach lösen. – patrik