Storing values from a loop in an array

Hi everyone!
I'm trying to run a loop that saves every value after every iteration until it reaches 0 at which point the loop ends.
My code is as follows:
for y = [y;]
if y>=0
dV_y = (dt/m)*((0.5*rho*C_D*S)-m*g);
dy = dV_y*dt;
y = y+dy;
end
end
The loop runs 1 time and doesn't save it as an array.
Any help will be greatly appreciated, thanks!

 Akzeptierte Antwort

Matt J
Matt J am 22 Apr. 2025
Bearbeitet: Matt J am 22 Apr. 2025

0 Stimmen

N=1e7; %Maximum allowed number of iterations.
ysave=nan(1,N);
for i=1:N
dV_y = (dt/m)*((0.5*rho*C_D*S)-m*g);
dy = dV_y*dt;
y = y+dy;
ysave(i)=y;
if y<0,
break;
elseif i==N
warning 'Stopping threshold was not reached.'
end
end
y=ysave(1:i);

Weitere Antworten (0)

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Hilfe-Center und File Exchange

Produkte

Version

R2024b

Tags

Gefragt:

am 22 Apr. 2025

Kommentiert:

am 22 Apr. 2025

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by