今、私は行列を持っているとしましょう
S = [1 1 1 2 2 2;
1 1 1 2 2 2;
2 2 2 2 1 1;
2 2 2 2 1 1;
2 2 2 2 1 1]
そして別のマトリックス
A = [1 2;
2 4]
Aの最初の行はSの一意のインデックスであり、2番目の行には最初の行の値が置き換えられる値が含まれています。つまり、Sのすべての「1」は2に置き換えられ、すべての「2」は4に置き換えられます。最後に、行列を取得します。
SS = [2 2 2 4 4 4;
2 2 2 4 4 4;
4 4 4 4 2 2;
4 4 4 4 2 2;
4 4 4 4 2 2]
今私がしていることは:
SS = zeros(size(S));
for i = 1:size(A,2)
SS(S==index(A(1, i)) = A(2,i);
end
今、私はかなり大きな行列を持っています、そしてforループを使うことは少し遅いです。それを行うためのより速い方法はありますか?