Index exceeds the number of array elements error
1 次查看(过去 30 天)
显示 更早的评论
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 个评论
采纳的回答
VBBV
2020-11-2
编辑:VBBV
2020-11-2
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
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Matrix Indexing 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!