如何在正常点和数组之间矢量化点积的总和

nyh*_*lku 4 matlab vector matrix vectorization dot-product

我需要评估以下表达式(伪数学表示法):

?ipi?n

其中p是三元素向量的矩阵,n是一个三元素向量.我可以使用for循环执行此操作,如下所示,但我无法弄清楚如何向量化:

p = [1 1 1; 2 2 2];
n = [3 3 3];
s = 0;
for i = 1:size(p, 1)
    s = s + dot(p(i, :), n)
end
Run Code Online (Sandbox Code Playgroud)

Eit*_*n T 5

为什么复杂的事情?简单矩阵乘法怎么样:

s = sum(p * n(:))
Run Code Online (Sandbox Code Playgroud)

其中p假设为M -by-3矩阵.