0
このコードをベクトル化する方法はありますか?ここmatlab/octaveでこのコードをベクトル化する方法はありますか?
for k=1:K
vec_y(:,k) = y == k;
end
、y
(すなわち、1
、300
カウント300
カウントが存在することになる各表現が他のすべての表現として同じ数を有するよう3000x1
次元のベクトルであり、要素10
(表現)を介し1
を有します2
など)。
書き換えるか、単に1
対応のすべての出現のために、以下のバイナリ表現された新しいマトリックスの作成である私がやりたいこと - 10
を:[1;0;0;0;0;0;0;0;0;0]
で表現されます
1
を、2
は[0;1;0;0;0;0;0;0;0;0]
こと、そしてそうしますに。
for
ループを使用せずにコードを完全にベクトル化したいです。
をあなたは 'bsxfun'を使用しているので、あなたが実際に' repmat'は必要ありません。あなたは 'bsxfun(@eq、1:10、y)'と書くことができます – Suever
ありがとう、私は私の答えを編集します! –
うまく動作します。ありがとう!残念ながら、私はあなたの答えを投票することはできません。私は評判/ポイントを必要としていないからです。 :) – Arean