Index exceeds the number of array elements error
1 view (last 30 days)
Show older comments
When I run below code, I get error: Index exceeds the number of array elements (5).
Can someone please help me understand why I'm getting this error? As for loop is processed 5 times (in below example), shouldnt I get matrix size of 1x5 of 'n' values? like n= [1 0 1 2 3]?
Thank you
>> r=exprnd(1/8, 1,5);
>> at=cumsum(r);
>> st=exprnd(1/8, 1, 5);
>> n = 0;
>> ord=2:1:6;
>> n=0;
>> for x=1:5; %x defines # of sims
if at(ord-1) + cumsum(st(ord-1)) ==at(ord)
n=n
elseif at(ord-1) + cumsum(st(ord-1)) < at(ord)
n=n-1
else
n=n+1
plot(n)
end
end
0 Comments
Accepted Answer
VBBV
on 2 Nov 2020
Edited: VBBV
on 2 Nov 2020
Use for loop index to access the vector as below
%if true
% code
% end
>> r=exprnd(1/8, 1,5);
>> at=cumsum(r);
>> st=exprnd(1/8, 1, 5);
>> n = 0;
>> ord=2:1:6;
>> n=0;
>> for x=1:5; %x defines # of sims
if at(ord(x)-1) + cumsum(st(ord(x)-1)) ==at(ord(x))
n=n
elseif at(ord(x)-1) + cumsum(st(ord(x)-1)) < at(ord(x))
n=n-1
else
n=n+1
plot(n)
end
end
More Answers (0)
See Also
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!