Is it possible to do this without for cycle?

1 vue (au cours des 30 derniers jours)
Mr M.
Mr M. le 19 Mar 2018
Commenté : Walter Roberson le 20 Mar 2018
T = zeros(M,K);
for k = 1:K
T(Y==k,k) = 1;
end
  1 commentaire
Birdman
Birdman le 19 Mar 2018
Share your entire code.

Connectez-vous pour commenter.

Réponse acceptée

Jos (10584)
Jos (10584) le 19 Mar 2018
% data
Y = [1 1 3 2 3 1 1 2] % M = numel(Y)
K = 3
% engine
T = double((Y(:) - (1:K))==0)
  2 commentaires
Mr M.
Mr M. le 20 Mar 2018
beautiful, thanks
Walter Roberson
Walter Roberson le 20 Mar 2018
The above code requires R2016b or later. Earlier versions would need to use bsxfun()

Connectez-vous pour commenter.

Plus de réponses (1)

Walter Roberson
Walter Roberson le 19 Mar 2018

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by