2.2.3 向量的点、叉积运算

向量的点积即数量积,叉积又称向量积或矢量积。点积、叉积甚至两者的混合积在场论中是极其基本的运算。MATLAB是用函数实现向量点、叉积运算的。下面举例说明向量的点积、叉积和混合积运算。

1.点积运算

点积运算(A·B)的定义是参与运算的两向量各对应位置上元素相乘后,再将各乘积相加。所以向量点积的结果是一标量而非向量。

点积运算函数是:dot(A, B), A、B是维数相同的两向量。

【例2.6】 向量点积运算。

        >>A=1:10; B=linspace(1,10,10); AT=A'; BT=B';
        >>e=dot(A, B), f=dot(AT, BT)

其运算结果为

        e =
          385
        f =
          385

2.叉积运算

在数学描述中,向量AB的叉积是一新向量C, C的方向垂直于AB所决定的平面。用三维坐标表示时

A=Axi+ Ayj+ Azk

B=Bxi+ Byj+ Bzk

C=A×B=(AyBz-AzByi+(AzBx-AxBzj+(AxBy-AyBxk

叉积运算的函数是:cross(A, B),该函数计算的是A、B叉积后各分量的元素值,且A、B只能是三维向量。

【例2.7】 合法向量叉积运算。

        >>A=1:3, B=3:5
        >>E=cross(A, B)

其运算结果为

        A =
            1    2    3
        B =
            3    4    5
        E =
            -2    4   -2

【例2.8】 非法向量叉积运算(不等于三维的向量做叉积运算)。

        >>A=1:4, B=3:6, C=[1 2], D=[3 4]
        >>E=cross(A, B), F=cross(C, D)

其运行结果为

        A =
            1    2    3    4
        B =
            3    4    5    6
        C =
            1    2
        D =
            3    4
        ?? ? Error using ==> cross
        A and B must have at least one dimension of length 3.

3.混合积运算

综合运用上述两个函数就可实现点积和叉积的混合运算,该运算也只能发生在三维向量之间,现示例如下。

【例2.9】 向量混合积示例。

        >>A=[1 2 3], B=[3 3 4], C=[3 2 1]
        >>D=dot(C, cross(A, B))

其运行结果为

        A =
            1    2    3
        B =
            3    3    4
        C =
                        3    2    1
                    D =
                        4

请问:点叉积函数的顺序是否可以颠倒?