Azzera filtri
Azzera filtri

Help with a loop that computes at each step

4 visualizzazioni (ultimi 30 giorni)
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 Commenti
Lavorizia Vaughn
Lavorizia Vaughn il 13 Nov 2021
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 il 13 Nov 2021
The instruction is nonsense: For k=1, the value of h = 0.05/2(k-1) is Inf.

Accedi per commentare.

Risposta accettata

Jan
Jan il 13 Nov 2021
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 Commento
Lavorizia Vaughn
Lavorizia Vaughn il 14 Nov 2021
You helped me with the other but very similar thread. thanks a bunch. your help is much appreciated.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Operating on Diagonal Matrices in Help Center e File Exchange

Prodotti


Release

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by