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!

 採用された回答

Matt J
Matt J 2025 年 4 月 22 日
編集済み: Matt J 2025 年 4 月 22 日

0 投票

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);

1 件のコメント

Jamie
Jamie 2025 年 4 月 22 日
Hi Matt,
Thanks, worked like a charm!

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeLoops and Conditional Statements についてさらに検索

製品

リリース

R2024b

タグ

質問済み:

2025 年 4 月 22 日

コメント済み:

2025 年 4 月 22 日

Community Treasure Hunt

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

Start Hunting!

Translated by