考虑矩阵A=zeros(r,3)
。假设我有一个向量b
,其大小为rx1
,其中每个b(i)=1,2,3
的向量为i=1,...,r
。
对于i=1,...,r
,我要设置A(i,b(i))=1
。
此刻,我正在循环解决此问题:
clear
r=10^7;
A=zeros(r,3);
b=unidrnd(3,r,1);
for i=1:r
A(i,b(i))=1;
end
此代码运行大约需要0.2秒。我想问一下您是否知道该代码的向量化版本所花费的时间更少,因为我必须在一个较大的代码中重复几次此过程。