我有一个F
大小矩阵和一个范围内随机整数长度的D-by-N
向量。我想创建一个大小矩阵,使得每个列都有从索引开始的向量。A
N
[1,a]
M
D * a
M(:,i)
F(:,i)
(A(i)-1)*D+1
(A(i)-1)*D+D
例子:
F = [1 2 3 10
4 5 6 22]
A = [3 2 1 2]
a = 4
M = [0 0 3 0
0 0 6 0
0 2 0 10
0 5 0 22
1 0 0 0
4 0 0 0
0 0 0 0
0 0 0 0]
我可以用一个简单的循环来做到这一点
for i = 1 : N
M((A(i)-1)*D+1:(A(i)-1)*D+D,i) = F(:,i);
end
但总的来说,N
这可能需要一段时间。我正在寻找一种没有循环的方法。