所以我有一个大小为m的矩阵X,10被初始化为全零。
然后我有一个大小为m的向量,1包含1到10的数字
我想要做什么(希望在没有循环的单个操作中),对于矩阵X和向量y的每一行,我想在由行中写入的值索引的列中放置一个'1'矢量y。
这是我想要的一个小例子:X = [0 0 0; 0 0 0; 0 0 0];让我们说y = [3; 2; 1]; 然后我希望操作返回X = [0 0 1; 0 1 0; 1 0 0]
你有一个可以轻松做到的命令吗?
答案 0 :(得分:3)
X(sub2ind(size(X),y',1:numel(y)))=1
或
X((0:numel(y)-1)*size(X,2) + y')=1