1. 向量的向量积cross
(1) C=cross(A,B)
a)输入A、B为长度为3的矢量,得到长度为3的与A、B同时垂直的向量C。
过程可用代码解释为:
A=[1 2 3];
B=[4 5 6];
AB=[a;b];
dd(1)=det(ab(:,[2,3]));
dd(2)=det(ab(:,[1,3]));
dd(3)=det(ab(:,[1,2]));
C=[dd(1),dd(2),dd(3)];
参考1
b)输入A、B为相同尺寸的二维数值矩阵,且矩阵行数必须为3,得到A和B列之间的5个独立的外积
即C(:,i)=cross(A(:,i),B(:,i))
(2)C=cross(A,B,dim)
输入输入A、B为相同尺寸的三维数值矩阵,且size(A,dim)和size(B,dim)都必须为3,dim是一个正整数标量。
(a)dim为1,C(:,1,1)=cross(A(:,1,1),B(:,1,1));
(b)dim为2,C(1,:,1)=cross(A(1,:,1),B(1,:,1));
(c)dim为3,C(1,1,:)=cross(A(1,1,:),B(1,1,:)).
2. 向量的点积dot
(1)C=dot(A,B)
A和B为长度相等的向量,返回二者的标量积
C=A(1)*B(1)+······+A(n)*B(n)
(2)C=dot(A,B,dim)
A和B为矩阵或多维数组,尺寸相同。例三维矩阵
(a)dim=1,C(i,j)=dot(A(:,i,j),B(:,i,j));
(b)dim=2,C(i,j)=dot(A(i,:,j),B(i,:,j));
(c)dim=3,C(i,j)=dot(A(:,i,j),B(:,i,j)).
3. 列元素的积prod
(1)prod(A)
a)输入一维矢量,输出所有元素的乘积;
b)输入二维矩阵,默认输出每一列的乘积的行向量;
c)输入多维矩阵,默认对第一个非单元素的维度做乘法。
(2)prod(A,dim)
对输入的多维矩阵指定维度做乘法
另,a*b为矩阵乘法,a.*b为点乘。