我有两个向量,我想得到他们的dor产品没有for循环。这会节省很多时间。
以下是示例代码。
p=1;
C=zeros(100,1);
r_a_= rand(1,3);
r_b= rand(100,3);
for it=1:size(r_b,1)
C(p,1) = dot(r_a_,r_b(it,:)) ;
p=p+1
end
为了避免循环并只调用一次点函数,我想是这样的
r_a=repmat(r_a_,100,1);
C = dot(r_a,r_b) %%%%%%%% But obviously it gives wrong answer
有什么想法吗?
答案 0 :(得分:2)
您可以使用矩阵乘法,如下所示:
r_a_ = rand(1,3);
r_b = rand(100,3);
C = r_a_ * r_b.'