我有一个向量,其元素标识我需要在不同矩阵中设置的索引(每列)。具体来说,我有:
A = 7
1
2
我需要创建一个矩阵B,其中包含一些零行数,但A标识的元素除外。换句话说,我想要B:
B = zeros(10, 3); % number of rows is known; num columns = size(A)
B(A(1), 1) = 1
B(A(2), 2) = 1
B(A(3), 3) = 1
我想这样做而不必编写循环。
任何指针都会受到赞赏。
感谢。
答案 0 :(得分:0)
B = zeros(10, 3);
B(A(:).'+ (0:numel(A)-1)*size(B,1)) = 1;
第二行可以与sub2ind
等效地编写(可能会慢一点):
B(sub2ind(size(B), A(:).', 1:numel(A))) = 1;