"Array indices must be positive integers or logical values"
Show older comments
for i=1:n
disp(i)
ti(i+1)=ti(i)+dt;
x1i(i+1)=x1i(i)+dt(V1i(i))
x2i(i+1)=x2i(i)+dt(V2i(i))
Using, this code I get the error message shown in the subject line, even if i change the updating to x1i(i)= ... this doesn't fix the problem.
Any advice?
3 Comments
Antoni Garcia-Herreros
on 22 Mar 2023
Could you provide some more info on what size is your data (n,ti,dt,V1,V2)?
Rory Thiel
on 22 Mar 2023
Rory Thiel
on 22 Mar 2023
Answers (1)
Cris LaPierre
on 22 Mar 2023
Edited: Cris LaPierre
on 22 Mar 2023
Your indices must be positive integer values (or logicals), as the error message states. It is therefore most likely either V1i(i) or V2i(i) are not returing an integer value, causing the error about invalid array indices when used to index into your variable dt.
a=1:3;
% This works
a(1)
% your error
a(1.5)
Categories
Find more on Matrix Indexing in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!