1

ゼロだけを含む行列 M があります。今、私は2つの配列を持っています。最初のものは、変更する必要がある行列のインデックスを含み、2 つ目は、それらのインデックスで行列の要素を変更する必要がある値を含みます。

まあ言ってみれば:

mat_A = zeros(50, 50);
vec_indices = [4; 5; 2500];
vec_values  = [1; 1; 1];

今私が言うならM(4), M(5) or M(2500)、私は結果がすべての場合に1であることを望みます。

このタスクを完了する簡単な「ワンライナー」はありますか?

4

1 に答える 1

4

単純:

mat_A(vec_indices) = vec_values

これは線形インデックスに対してのみ機能することに注意してください。したがって、50x50 マトリックスを 1 つの 2500x1 ベクトルにフラット化すると

于 2013-09-02T21:34:43.413 に答える