我有一个带索引的列向量。
a = [10, 10, 10, 5, 5, 3, 3]
我想创建一个带有零的7x10矩阵,但每行有一列为1,该列的位置由向量a
中的值确定。
现在我正在做以下事情:
for i = 1:length(a)
b(i, a(i)) = 1;
end
它做对了:
b =
0 0 0 0 0 0 0 0 0 1
0 0 0 0 0 0 0 0 0 1
0 0 0 0 0 0 0 0 0 1
0 0 0 0 1 0 0 0 0 0
0 0 0 0 1 0 0 0 0 0
0 0 1 0 0 0 0 0 0 0
0 0 1 0 0 0 0 0 0 0
但是我想知道是否有一个函数或语法糖允许我在没有循环的情况下执行它。
我必须做很多地方,有时候矩阵很大,我更喜欢没有循环。