Index exceeds array dimensions. Index value 150002 exceeds valid range [1-150001] for array 'v'.

1 view (last 30 days)
I tried to run this sentence using Simulink but this error keeps popping upfor
for n = 1:length(t); % Start simulation
v(n+1) = v(n) + (g*sin(theta(n)) - k./m.*v(n)).*dt;
theta(n+1) = theta(n) - 1./L.*v(n).*dt;
end

Accepted Answer

VBBV
VBBV on 14 Apr 2022
for n = 1:length(t)-1;
Error shows clearly that vector v has 1 additional element. Change the loop as above since v(n+1) should correspond to last element in vector v. A better way is to preaalocate array as
v = zeros(1,length(t))

More Answers (0)

Categories

Find more on Get Started with MATLAB 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!