点乘a*b和叉乘aXb

转自:https://blog.youkuaiyun.com/mei123581/article/details/53334013

向量是由n个实数组成的一个n行1列(n*1)或一个1行n列(1*n)的有序数组;

 

向量的点乘,也叫向量的内积、数量积,对两个向量执行点乘运算,就是对这两个向量对应位一一相乘之后求和的操作,点乘的结果是一个标量。

 

点乘公式

 

对于向量a和向量b:

 

                                                           

 

a和b的点积公式为:

 

 

 

要求一维向量a和向量b的行列数相同。

 

点乘几何意义

 

点乘的几何意义是可以用来表征或计算两个向量之间的夹角,以及在b向量在a向量方向上的投影,有公式:

 

 

推导过程如下,首先看一下向量组成:

 

 

 

定义向量:

 

 

根据三角形余弦定理有:

 

 

根据关系c=a-b(a、b、c均为向量)有:

 

 

即:

 

向量a,b的长度都是可以计算的已知量,从而有a和b间的夹角θ:

 

 

根据这个公式就可以计算向量a和向量b之间的夹角。从而就可以进一步判断这两个向量是否是同一方向,是否正交(也就是垂直)等方向关系,具体对应关系为:


     a·b>0    方向基本相同,夹角在0°到90°之间

     a·b=0    正交,相互垂直  

     a·b<0    方向基本相反,夹角在90°到180°之间 

 

叉乘公式

 

两个向量的叉乘,又叫向量积、外积、叉积,叉乘的运算结果是一个向量而不是一个标量。并且两个向量的叉积与这两个向量组成的坐标平面垂直。

 

对于向量a和向量b:

 

 

a和b的叉乘公式为:

 

 

其中:

 

 

根据i、j、k间关系,有:

 

 

 

 

叉乘几何意义

 

 

在三维几何中,向量a和向量b的叉乘结果是一个向量,更为熟知的叫法是法向量,该向量垂直于a和b向量构成的平面。

 

在3D图像学中,叉乘的概念非常有用,可以通过两个向量的叉乘,生成第三个垂直于a,b的法向量,从而构建X、Y、Z坐标系。如下图所示: 

 

 

在二维空间中,叉乘还有另外一个几何意义就是:aXb等于由向量a和向量b构成的平行四边形的面积。

--------------------- 本文来自 梅新青 的优快云 博客 ,全文地址请点击:https://blog.youkuaiyun.com/mei123581/article/details/53334013?utm_source=copy

### 矩阵法 * 元素 .* 的核心差异 在 MATLAB 中,`*` 运算符表示传统的矩阵法,遵循线性代数中的定义;而 `.*` 表示逐元素的操作。这两种运算的核心区别在于其计算逻辑以及适用条件的不同。 #### 1. 矩阵法 (*) 矩阵法 `*` 是一种基于行列匹配的积运算。假设存在一个 \( m \times n \) 维度的矩阵 A 一个 \( n \times p \) 维度的矩阵 B,则它们通过矩阵法产生的结果 C 将是一个 \( m \times p \) 的矩阵[^1]。具体而言,C 的每个元素是由 A 的某一行 B 的某一列按位相再求得出: \[ C(i, j) = \sum_{k=1}^{n} A(i,k)B(k,j) \] 这种运算严格要求参运算的第一个矩阵的列数必须等于第二个矩阵的行数,否则将引发维度不匹配错误[^4]。 以下展示了如何使用矩阵法的一个实例: ```matlab A = [1 2; 3 4]; B = [5 6; 7 8]; result = A * B; disp(result); % 输出: % 19 22 % 43 50 ``` #### 2. 元素 (.*) 相比之下,元素 `.*` 对两个相同大小的矩阵进行对应位置上的数值相。这意味着只有当两个矩阵具有完全一致的尺寸时,该操作才可被执行。对于任意给定的位置 (i, j),结果矩阵 R 的值为: \[ R(i, j) = A(i,j) \cdot B(i,j) \] 因此,它仅涉及简单的数值法,并将其扩展至整个矩阵范围内应用[^2]。 下面是关于如何运用逐元素法的一段代码演示: ```matlab A = [1 2; 3 4]; B = [5 6; 7 8]; result = A .* B; disp(result); % 输出: % 5 12 % 21 32 ``` 值得注意的是,在 Python 的 NumPy 库中也存在着类似的区分机制,其中 `.dot()` 方法被用来执行标准意义上的矩阵法,而非普通的数组法。 综上所述,选择何种方式取决于具体的计算需求——如果目标是依据传统数学概念下的矩阵法规则展开工作,则应当选用 `*`;若是期望使两组数据能够一对一相互作用从而构建新集合形态,则需考虑采纳 `.*` 来完成任务。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值