Info

This question is closed. Reopen it to edit or answer.

Index exceeds the number of elements (1)

1 view (last 30 days)
Advait Sinha
Advait Sinha on 18 Jun 2019
Closed: MATLAB Answer Bot on 20 Aug 2021
close all;
dt = 0.01;%time step
k1=1;
m=1;%initial parameters
u1 =2;
u2 =1;
v1=2;
a1=1;
tend=10;
t=0;
i=1
while t < tend-2*dt
v1h=v1(i)-dt*k1*u1(i)-u2(i)/ (2*m);
u1(i+1)= u1(i)+ dt*v1h;
a1(i+1)= -k1*u1(i+1)/2;
v1(i+1)= v1h + dt*a1(i+1)/2;
i = i+1;
t = t + dt
end
plot(linspace(0,tend,tend/dt),u1);

Answers (1)

Adam Danz
Adam Danz on 18 Jun 2019
Edited: Adam Danz on 24 Jun 2019
On the second iteration of your while-loop, u2(i) is causing the error since you're trying to access the second element of u2 but u2 will always be u2=1 and that never changes in your code. I see you're updating u1 within the while loop but that isn't happening for u2.

Community Treasure Hunt

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

Start Hunting!