如何在 R 中找到两个矩阵的点积?


要查找 R 中两个矩阵的点积,我们可以使用 geometry 包的 dot 函数。

例如,如果我们有两个矩阵,例如 matrix1 和 matrix2,那么我们可以使用以下给出的命令来使用这两个矩阵的点积:

dot(matrix1,matrix2)

示例 1

以下代码片段创建了一个示例矩阵:

M1<-matrix(rpois(25,5),ncol=5)
M1

创建了以下矩阵:

   [,1] [,2] [,3] [,4] [,5]
[1,] 7    3    5    7    9
[2,] 3    6    6    6    6
[3,] 4    7    6    2    9
[4,] 5    6    4    6    2
[5,] 8    5    5    4    8

以下代码片段创建了一个示例矩阵:

M2<-matrix(rpois(25,5),ncol=5)
M2

创建了以下矩阵:

   [,1] [,2] [,3] [,4] [,5]
[1,] 7    4    6    3    7
[2,] 6    1    5    2    5
[3,] 3    7    3    6    3
[4,] 6    5    5    4    3
[5,] 3    7    3    5    6

要加载 geometry 包并在上面创建的矩阵上查找矩阵 M1 和 M2 的点积,请将以下代码添加到上面的代码片段中:

M1<-matrix(rpois(25,5),ncol=5)
M2<-matrix(rpois(25,5),ncol=5)
library(geometry)
dot(M1,M2)

输出

如果您将上面给出的所有代码片段作为一个程序执行,它将生成以下输出:

[1] 133 132 113 89 174

示例 2

以下代码片段创建了一个示例矩阵:

M3<-matrix(rpois(80,5),ncol=4)
M3

创建了以下矩阵:

    [,1] [,2] [,3] [,4]
 [1,] 5    7    1    4
 [2,] 4    5    7    5
 [3,] 6    3    5    3
 [4,] 7    5   13    5
 [5,] 10   5    5    7
 [6,] 4    2    3    5
 [7,] 7    5    2    2
 [8,] 6    8    3    3
 [9,] 3    6    4    4
[10,] 3    6    5    2
[11,] 6    3    3    3
[12,] 4    1    5    2
[13,] 3    8    4    9
[14,] 10   7    4    8
[15,] 5    4    5    2
[16,] 4    7    8    7
[17,] 5    9    5    4
[18,] 7    4    4    4
[19,] 4    4    3    6
[20,] 5    8    5    6

以下代码片段创建了一个示例矩阵:

M4<-matrix(rpois(80,2),ncol=4)
M4

创建了以下矩阵:

   [,1] [,2] [,3] [,4]
 [1,] 2   1    2    3
 [2,] 1   2    0    3
 [3,] 2   3    5    1
 [4,] 2   0    3    2
 [5,] 1   2    0    0
 [6,] 0   1    2    2
 [7,] 1   3    3    2
 [8,] 1   2    1    2
 [9,] 1   1    2    2
[10,] 3   2    1    3
[11,] 1   2    2    5
[12,] 2   2    1    3
[13,] 1   0    4    2
[14,] 1   2    0    2
[15,] 2   2    0    2
[16,] 3   4    1    2
[17,] 1   1    3    3
[18,] 1   0    3    4
[19,] 0   0    1    3
[20,] 1   2    0    3

要在上面创建的矩阵上查找矩阵 M3 和 M4 的点积,请将以下代码添加到上面的代码片段中:

M3<-matrix(rpois(80,5),ncol=4)
M4<-matrix(rpois(80,2),ncol=4)
dot(M3,M4)

输出

如果您将上面给出的所有代码片段作为一个程序执行,它将生成以下输出:

[1] 141 170 159 211

示例 3

以下代码片段创建了一个示例矩阵:

M5<-matrix(round(rnorm(60),1),ncol=3)
M5

创建了以下矩阵:

      [,1] [,2] [,3]
 [1,]  0.0 -0.4 -0.6
 [2,]  0.2  1.5 -0.2
 [3,]  0.3  0.2  0.7
 [4,] -0.8  0.1 -1.2
 [5,]  0.9  1.1  1.2
 [6,] -0.1 -0.2 -0.9
 [7,]  1.1 -1.4 -0.2
 [8,]  0.5 -0.9 -0.3
 [9,]  0.1 -2.6  0.2
[10,] -0.4  0.9  1.2
[11,]  0.6  0.4  0.7
[12,]  3.1 -3.3  0.0
[13,]  0.2 -0.4  2.5
[14,]  1.7  1.0 -0.9
[15,]  0.0  0.8 -0.2
[16,] -0.1  0.9 -0.2
[17,]  0.6  0.5 -2.3
[18,]  0.1  0.4 -1.7
[19,] -0.1  0.4 -1.3
[20,]  0.9  0.6  0.4

以下代码片段创建了一个示例矩阵:

M6<-matrix(round(rnorm(60),1),ncol=3)
M6

创建了以下矩阵:

      [,1] [,2] [,3]
 [1,]  1.5 -1.1 -2.4
 [2,]  1.9  0.0 -0.1
 [3,] -1.5 -0.5 -1.0
 [4,]  1.2  0.9 -0.1
 [5,]  0.3  0.5  0.3
 [6,]  1.1 -0.1  0.5
 [7,]  0.1  1.2  1.6
 [8,]  0.1  1.0 -0.8
 [9,] -0.4 -1.6 -0.8
[10,] -0.2 -0.6  0.4
[11,]  2.3 -3.6  0.7
[12,] -2.1  1.5  0.2
[13,] -0.4 -1.9 -1.0
[14,] -0.8 -0.5  0.1
[15,]  0.4  0.4  0.9
[16,] -0.3  1.2  0.7
[17,]  0.4 -1.8 -0.1
[18,] -0.8  0.2 -0.2
[19,] -0.1  2.1 -2.8
[20,] -0.7 -0.6  1.3

要在上面创建的矩阵上查找矩阵 M5 和 M6 的点积,请将以下代码添加到上面的代码片段中:

M5<-matrix(round(rnorm(60),1),ncol=3)
M6<-matrix(round(rnorm(60),1),ncol=3)
dot(M5,M6)

输出

如果您将上面给出的所有代码片段作为一个程序执行,它将生成以下输出:

[1] -7.67 -3.03 3.34

更新于:2021年11月9日

2K+ 次查看

开启您的 职业生涯

通过完成课程获得认证

开始学习
广告