向量点乘为什么这么算
2014-08-13 19:34
253 查看
向量点乘有两个定义两个定义似乎没有关系,每每看到这个定义心里总有放不下的感觉,今天上百度不知道干什么突然看到有人问向量点积,就在纸上画了画。 A(x1, y1) B(x2, y2) |A| 为向量A的模 |B|为向量B的模 角AOB为两个向量的夹角 角AOX 为向量A和X轴的夹角 角BOX为向量B和X轴的夹角 两个定义如下 定义1 A*B = x1*x2 + y1*y2 定义2 A*B = |A|*|B|*cosAOB 是不是有如下等价关系呢? x1*x2 + y1*y2 = |A|*|B|*cosAOB 。将上面等式展开一下。
x1 = |A|cosAOX
x2 = |B|cosBOX
y1 = |A|sinAOX
y2 = |B|sinBOX
角AOB = 角AOX - 角BOX
|A||B|cosAOXcosBOX + |A||B|sinAOXsinBOX = |A|*|B|*cosAOB
cosAOXcosBOX + sinAOXsinBOX = cosAOB
cosAOXcosBOX + sinAOXsinBOX = cos(AOX - BOX)
哇,居然积化和差公式出来了 要是上学的那会我看出来就好啦。。。
ps: 这是以前我在csdn上写的,最近看数学之美,里面有一章讲如何评价两个网页是否相关,就是用计算向量的夹角.当然推广到了多维的情况,
距离D = (x1*x2 + y1*y2 + z1*z2+...) / (|样本1的摸|*|样本2的模|),高维情况如何证明呢,不知道啊...
x1 = |A|cosAOX
x2 = |B|cosBOX
y1 = |A|sinAOX
y2 = |B|sinBOX
角AOB = 角AOX - 角BOX
|A||B|cosAOXcosBOX + |A||B|sinAOXsinBOX = |A|*|B|*cosAOB
cosAOXcosBOX + sinAOXsinBOX = cosAOB
cosAOXcosBOX + sinAOXsinBOX = cos(AOX - BOX)
哇,居然积化和差公式出来了 要是上学的那会我看出来就好啦。。。
ps: 这是以前我在csdn上写的,最近看数学之美,里面有一章讲如何评价两个网页是否相关,就是用计算向量的夹角.当然推广到了多维的情况,
距离D = (x1*x2 + y1*y2 + z1*z2+...) / (|样本1的摸|*|样本2的模|),高维情况如何证明呢,不知道啊...
相关文章推荐
- 向量点乘为什么这么算
- 你为什么还是这么傻!
- 程序员你为什么这么累:编码习惯之日志建议
- 向量的点乘叉乘
- 为什么我们程序员总是这么累、做出来的东西这么差?
- python 里map()函数想到的外国人为什么要这么定义函数
- PDF转WORD为什么这么难
- 为什么判断结构体相等要这么复杂呢?
- 为什么头文件这么定义
- 从std::string、leveldb、openbsc源码,研究为什么他们要这么设计代码
- 2017Unity开发者大会为什么依旧这么火?
- 【总结】 ---ACM为什么这么难
- java中类的路径为什么这么长
- 向量点乘相关公式推导及 几何解释
- 为什么要学习算法?算法为什么这么难?
- 中国人的收入为什么这么低?(财经郎眼有感)
- 向量点乘与叉乘
- 3G中经常提到的R99,R4,R5等为什么这么命名?是指的年份么?
- 为什么 SeaJS 模块的合并这么麻烦