accumarray error: Index into matrix must be positive

5 views (last 30 days)
G=[0 1 ; 0 2 ; 1 2];
adj=accumarray(G,1,[],[],0,true);
error: Index into matrix must be positive.

Accepted Answer

Star Strider
Star Strider on 4 Apr 2016
What I do in situations such as yours is to add 1 to the minimum value (here 0) of the index array:
G=[0 1 ; 0 2 ; 1 2];
adj=accumarray(G+1,1,[],[],0,true);
That solves the immediate problem. You can make adjustments in other parts of your code afterwards.

More Answers (2)

Muhammad Usman Saleem
Muhammad Usman Saleem on 4 Apr 2016

Chad Greene
Chad Greene on 4 Apr 2016
The zeros in G are not positive.

Tags

Community Treasure Hunt

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

Start Hunting!