
上QQ阅读APP看书,第一时间看更新
3.dot函数
dot函数可实现数组的点积运算,但是运算规则要求数组A和B的维数相同,该函数的语法格式为:
C=dot(A,B):返回A和B的标量点积。
· 如果A和B是向量,则它们的长度必须相同。
· 如果A和B为矩阵或多维数组,则它们必须具有相同大小。在【例1-3】中,dot函数将A和B视为向量集合。该函数计算对应向量沿大小不等于1的第一个数组维度的叉积。C=dot(A,B,dim):计算A和B沿维度dim的点积。dim输入是一个正整数标量。考虑两个二维输入数组:A和B。
· dot(A,B,1):将A和B的列视为向量,并返回对应列的点积,如图1-2所示。
· dot(A,B,2):将A和B的行视为向量,并返回对应行的点积,过程如图1-2所示。

图1-2 dim沿其运算的维度
【例1-3】点积运算。
(1)创建两个简单的三元素向量。

结果为8,因为C=A(1)∗B(1)+A(2)∗B(2)+A(3)∗B(3)。
(2)创建两个复数向量。

结果为一个复数标量,因为A和B是复数。通常,两个复数向量的点积也是复数,获取一个复数向量与其自身的点积除外。
(3)计算A与自身的内积。

结果为一个实数标量。向量与自身的内积与向量norm(A)的长度相关。
(4)矩阵的点积。

结果C包含三个不同的点积。dot将A和B的各列视为向量,并计算对应列的点积,如C(1)=54是A(:,1)与B(:,1)的点积。
计算A和B的点积,并将rows视为向量。

在本例中,D(1)=46是A(1,:)与B(1,:)的点积。