Help with a loop that computes at each step

hi im doing an assignmenr where i have 5 different stepsizes that compose a row vector hs. i have 100/hs steps for which id like to compute the value th2 at each stepsize.
th1=1;
th2=1;
w1=0;
w2=0;
hs(1)=[0.05];
hs(2)=[0.05/2];
hs(3)=[0.05/4];
hs(4)=[0.05/8];
hs(5)=[1/1000];
th2s=[];
????????????
for i=1:N
k1= h*fpend(y);
k2=h*fpend(y + k1/2);
k3=h*fpend(y + k2/2);
k4= h*fpend(y + k3);
y = y + (k1 + 2*k2 + 2*k3 + k4) / 6;
end
th2s=[th2s,y(2)]

6 件のコメント

Awais Saeed
Awais Saeed 2021 年 11 月 13 日
Your question is not clear. Be specific. Why do you have a 2nd end at the end?
Lavorizia Vaughn
Lavorizia Vaughn 2021 年 11 月 13 日
i have removed the 2nd end. i still need something relating h to hs
Awais Saeed
Awais Saeed 2021 年 11 月 13 日
You still did not made the question clear. what is h and y and ?????????????
Lavorizia Vaughn
Lavorizia Vaughn 2021 年 11 月 13 日
y are approximations using runge kutta. h is the step size
Lavorizia Vaughn
Lavorizia Vaughn 2021 年 11 月 13 日
the assignment says,"Run Case 1 in problem 2 with the five stepsizes h = 0.05/2(k1), k = 1, 2, 3, 4, and h = 0.001. Compute the value of θ2(t = 100) for each stepsize. '
Jan
Jan 2021 年 11 月 13 日
The instruction is nonsense: For k=1, the value of h = 0.05/2(k-1) is Inf.

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

 採用された回答

Jan
Jan 2021 年 11 月 13 日

0 投票

hs = [0.05, 0.05/2, 0.05/4, 0.05/8, 1/1000];
for k = 1:numel(hs)
h = hs(k);
N = totalDuration / h; % ???
y = y0;
for i = 1:N
k1 = h * fpend(y);
k2 = h * fpend(y + k1/2);
k3 = h * fpend(y + k2/2);
k4 = h * fpend(y + k3);
y = y + (k1 + 2*k2 + 2*k3 + k4) / 6;
end
th2s(k) = y; % Why y(2)?
end

1 件のコメント

Lavorizia Vaughn
Lavorizia Vaughn 2021 年 11 月 14 日
You helped me with the other but very similar thread. thanks a bunch. your help is much appreciated.

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

その他の回答 (0 件)

カテゴリ

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

製品

リリース

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by