【发布时间】:2016-10-17 23:14:34
【问题描述】:
有没有办法对这段代码进行矢量化?
for k=1:K
vec_y(:,k) = y == k;
end
这里,y 是3000x1 维度的向量,并且具有元素1 到10(表示),因此每个表示具有与其他所有表示相同的计数(即,将有300 1、300 的计数2 等)。
我想要做的是重写或只是创建一个新矩阵,该矩阵对于所有出现的相应1-10 具有以下二进制表示:
1 将由 [1;0;0;0;0;0;0;0;0;0] 表示,2 将由 [0;1;0;0;0;0;0;0;0;0] 表示,依此类推。
我想完全矢量化代码而不使用for 循环。
【问题讨论】:
标签: matlab octave vectorization