What wrong with the indexing code?
1 回表示 (過去 30 日間)
古いコメントを表示
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 件のコメント
採用された回答
Walter Roberson
2018 年 2 月 8 日
B = full( sparse(row, col, value) );
or
B = accumarray([row(:), col(:)], value);
2 件のコメント
Walter Roberson
2018 年 2 月 8 日
Not at all easily with arrayfun or bsxfun as assignment through function calls is difficult and never less than ugly.
その他の回答 (1 件)
参考
カテゴリ
Help Center および File Exchange で Creating and Concatenating Matrices についてさらに検索
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!