- MATLAB基础及其应用教程
- 周开利 邓春晖
- 580字
- 2020-07-09 17:25:32
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.叉积运算
在数学描述中,向量A、B的叉积是一新向量C, C的方向垂直于A与B所决定的平面。用三维坐标表示时
A=Axi+ Ayj+ Azk
B=Bxi+ Byj+ Bzk
C=A×B=(AyBz-AzBy)i+(AzBx-AxBz)j+(AxBy-AyBx)k
叉积运算的函数是: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
请问:点叉积函数的顺序是否可以颠倒?