What wrong with the indexing code?
2 views (last 30 days)
Show older comments
GEORGIOS BEKAS
on 8 Feb 2018
Commented: GEORGIOS BEKAS
on 8 Feb 2018
If I want to fill in a matrix, of which I have its indices without a for loop, how could I do it? Suppose that the (row(i),col(i)) elements to be filled are given.
value = 189;
row = [ 1 3 6 7 8 ];
col = [ 1 1 4 4 5];
B(row,col) = value
0 Comments
Accepted Answer
Walter Roberson
on 8 Feb 2018
B = full( sparse(row, col, value) );
or
B = accumarray([row(:), col(:)], value);
2 Comments
Walter Roberson
on 8 Feb 2018
Not at all easily with arrayfun or bsxfun as assignment through function calls is difficult and never less than ugly.
More Answers (1)
See Also
Categories
Find more on Matrix Indexing in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!