Storing Values From a Loop

1 回表示 (過去 30 日間)
Kyle Fertig
Kyle Fertig 2017 年 11 月 5 日
I'm doing a project involving an implementation of Euler's method for class, and am using a "for" loop to increment my values. The code below runs, but whatever new y value I get is overwritten as the loop goes through. I need to be able to save those y values after each time through the loop and put them into a matrix so that they can later be graphed. I'm not sure how to do this, so any help is appreciated!
a=1250
q=500
c=160
n=0.5
y=1.1
for t=0:n:2
s=3*(q/a)*sin(t)^2-(c*(1+y)^1.5)/a
y=y+s
end
Thanks,
-Kyle

採用された回答

Kaushik Lakshminarasimhan
Kaushik Lakshminarasimhan 2017 年 11 月 5 日
Replace
s=3*(q/a)*sin(t)^2-(c*(1+y)^1.5)/a
y=y+s
with
s=3*(q/a)*sin(t)^2-(c*(1+y(end))^1.5)/a;
y=[y y(end)+s];
  2 件のコメント
Kyle Fertig
Kyle Fertig 2017 年 11 月 5 日
That's awesome, thanks! How does the (end) thing work? I assume it's a sort of function since the "s=" equation is still starting y at 1. 1
-Kyle
Kaushik Lakshminarasimhan
Kaushik Lakshminarasimhan 2017 年 11 月 5 日
end is a keyword, not a function. It simply picks out the last element of an array. For example, if x = [1 2 3 4 5], then x(end) = 5

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

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeLoops and Conditional Statements についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by