![]() |
1
41
根据第5页
this PDF
,
|
![]() |
2
16
我的答案由两部分组成。第1部分是数学——为线程的所有读者提供清晰的理解,并使后面的R代码易于理解。第2部分是R编程。 第1部分-马思两个向量的点积 X 和 是 可定义为:
何处 X ||是欧几里得范数(也称为L 二 向量的范数) X . 操纵点积的定义,我们可以得到:
其中θ是矢量之间的角度 X 和 Y 以弧度表示。注意θ可以取一个值,这个值位于从0到π的闭合区间上。 对于theta本身,我们得到:
第2部分-R代码要将数学转换成R代码,我们需要知道如何执行两个矩阵(向量)计算:点积和欧几里德范数(这是一种特殊的范数,称为L 二 规范)。我们还需要知道反余弦函数的r等价,cos - 1 .
从顶部开始。通过引用
解决方案
配备了数学和相关的R函数,可以使用基本包函数将原型函数(即,不是生产标准)组合在一起,如下所示。如果上述信息合理,则
测试功能 验证功能是否正常工作的测试。让 X =(2,1)和 Y =(1,2)。点积介于 X 和 Y 是4。欧几里得范数 X 为SqRT(5)。欧几里得范数 Y 也是sqrt(5)。cos theta=4/5。θ约为0.643弧度。
希望这有帮助! |
![]() |
3
10
对于二维矢量,接受答案和其他答案中给出的方法不考虑角度的方向(符号)。(
使用
检查一下
|
![]() |
4
6
你应该使用点积。说你有 V 艾尔= X 艾尔, Y 艾尔, Z 艾尔)和 V 艾尔= X 艾尔, Y _ Z _ V 艾········· V _楞,按
这意味着左边显示的和等于向量的绝对值乘以向量之间角度的余弦的乘积。向量的绝对值 V 艾尔和 V _
所以,如果你重新排列上面的第一个方程,你会得到
你只需要对cos应用arccos函数(或反cosine)。( γ )以获得角度。 根据你的arccos函数,角度可以是度或弧度。 (对于二维向量,只需忘记 Z -坐标和做同样的计算。) 祝你好运, 约翰多纳 |
![]() |
5
4
另一种解决方案是:两个向量之间的相关性等于两个向量之间角度的余弦。
所以这个角度可以用
|
![]() |
6
0
我认为你需要的是一种内在的产品。两矢量
有关详细信息,请参阅: |
![]() |
Muhammad Umer · 为什么这个随机数猜谜游戏模拟产生5.8 7 月前 |
![]() |
Alisa Petrova · 在有向图中更改一对顶点以创建循环 8 月前 |
|
D W · Python-将浮点数从2转换为10到100位小数 9 月前 |
![]() |
Bartol · 确定python龟图形中的角度 1 年前 |
|
randomAlgo · 将弹簧设置为相同长度的成本最低 1 年前 |
![]() |
Fyodor · 在C中使用sin和cos计算数学表达式不正确? 1 年前 |
![]() |
Sergio · python中大量数字的乘法 1 年前 |