栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > R语言

R语言矩阵、向量操作(矩阵乘法,向量内积、外积(叉乘),矩阵转置,矩阵的逆)

R语言 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

R语言矩阵、向量操作(矩阵乘法,向量内积、外积(叉乘),矩阵转置,矩阵的逆)

文章目录
  • 前言
  • 求矩阵、向量转置
  • 矩阵乘法
  • 求矩阵、向量内积
  • 求向量外积(叉乘)
  • 求矩阵的逆


前言

创建两个四维矩阵 A 与 B,A 按列填充,B 按行填充:

A <- matrix(1:16, 4, 4, byrow = FALSE)
B <- matrix(1:16, 4, 4, byrow = TRUE)

创建两个 n 维向量 x 和 y:

x <- c(1, 2, 3, 4, 5)
y <- c(2, 4, 6, 8, 10)

求矩阵、向量转置

使用 t(矩阵、向量名) 即可:

t(A) == B

输出如下:

> t(A) == B
     [,1] [,2] [,3] [,4]
[1,] TRUE TRUE TRUE TRUE
[2,] TRUE TRUE TRUE TRUE
[3,] TRUE TRUE TRUE TRUE
[4,] TRUE TRUE TRUE TRUE

矩阵乘法

使用 %*% 符号即可:

A %*% B

输出如下:

> A %*% B
     [,1] [,2] [,3] [,4]
[1,]  276  304  332  360
[2,]  304  336  368  400
[3,]  332  368  404  440
[4,]  360  400  440  480

求矩阵、向量内积

在R语言中,两个矩阵、向量的内积并不只是简单的 * 号就完事了,而是有以下两种求法:

t(A) %*% B

或者

crossprod(A, B)
crossprod(x, y)

其结果如下:(注意区分于矩阵乘法)

> t(A) %*% B
     [,1] [,2] [,3] [,4]
[1,]   90  100  110  120
[2,]  202  228  254  280
[3,]  314  356  398  440
[4,]  426  484  542  600
> crossprod(A, B) # 这里为A的每行向量与B的每行向量做内积(点乘)
     [,1] [,2] [,3] [,4]
[1,]   90  100  110  120
[2,]  202  228  254  280
[3,]  314  356  398  440
[4,]  426  484  542  600
> crossprod(x, y)
     [,1]
[1,]  110

求向量外积(叉乘)

对应符号为 %o% 或使用 outer() 函数:

x %o% y
outer(x, y)

输出如下:

> x %o% y
     [,1] [,2] [,3] [,4] [,5]
[1,]    2    4    6    8   10
[2,]    4    8   12   16   20
[3,]    6   12   18   24   30
[4,]    8   16   24   32   40
[5,]   10   20   30   40   50
> outer(x, y)
     [,1] [,2] [,3] [,4] [,5]
[1,]    2    4    6    8   10
[2,]    4    8   12   16   20
[3,]    6   12   18   24   30
[4,]    8   16   24   32   40
[5,]   10   20   30   40   50

也可使用 x %*% t(y) 或者 tcrossprod(x, y)。


求矩阵的逆

R语言的 solve(A, b) 函数可以求解线性方程组 Ax=b,直接使用 solve(A) 即可求解矩阵 A 的逆:

> C = matrix(c(1, 2, -1, -3), 2, 2, byrow = TRUE)
> solve(C)

输出如下:

> D <- solve(C)
> C %*% D
     [,1] [,2]
[1,]    1    0
[2,]    0    1
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/855564.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号