有没有办法向量化这个Matlab / Octave代码

时间:2018-10-05 09:32:49

标签: matlab vectorization octave

Y=zeros(length (y),10)
for c=1:length(y)
Y(c,y(c))=1
end

其中y是包含1到10的整数的列向量

1 个答案:

答案 0 :(得分:2)

使用线性索引:

Y=zeros(length (y),10)
c=1:length(y)
indices=sub2ind(size(Y),c.',y(c));
Y(indices)=1;