私は次の行列があると:マトリクスシングルライナーのMatlab検索置換?
1 0 1 1 0 0
0 0 1 0 1 0
1 1 1 0 0 1
0 1 1 0 0 1
1 1 1 1 1 0
それは以下になるので、私は、その列インデックスによって各列の各1を交換異なる形式に変換する:
1 0 3 4 0 0
0 0 3 0 5 0
1 2 3 0 0 6
0 2 3 0 0 6
1 2 3 4 5 0
私はそれを「ダム」の方法行うことができます。
[H, W] = size(a);
for i = 1:H
for j = 1:W
if(a(i, j) == 1)
a(i, j) = j;
end
end
end
をしかし、確かに(おそらく「検索」機能を使用して)1行でそれを行う方法がなければならない、誰K今どのように?
答えをいただきありがとうございます、これは有望ですが、正しく動作しません。最後の行は、1つのインデクシングストライク@Griffinおっと、1 – Griffin
によってオフセットされています!私はそれを説明するために私の答えを修正しました。 – Dougal