R实现矩阵运算

一. 创建矩阵

1. 矩阵可由多个向量合并。R向量默认为列向量。

cbind(向量1,向量2,...)
a1<-c(1,0,2)
a2<-c(0,-1,1)
a3<-c(-4,3,0)
cbind(a1,a2,a3)

运行结果:
     a1 a2 a3
[1,]  1  0 -4
[2,]  0 -1  3
[3,]  2  1  0

diag(n)    #创建行列数为n的单位阵
diag(a)   #创建正对角元素取向量a元素的矩阵

运行结果

> diag(4)
     [,1] [,2] [,3] [,4]
[1,]    1    0    0    0
[2,]    0    1    0    0
[3,]    0    0    1    0
[4,]    0    0    0    1
> diag(c(1,2,3))
     [,1] [,2] [,3]
[1,]    1    0    0
[2,]    0    2    0
[3,]    0    0    3
 

2. 将向量转化为矩阵

a<-c(1,0,2,0,-1,1,-4,3,0)   #创建包含指定元素的向量
rn<-c("r1","r2","r3")   #行名称向量
cn<-c("a1","a2","a3")    #列名称向量
B<-matrix(a,nrow=3,ncol=3,byrow=FALSE,dimnames=list(rn,cn))   #向量a转化为矩阵

   运行结果:

    a1 a2 a3
r1  1  0 -4
r2  0 -1  3
r3  2  1  0

3.常用的矩阵运算

函数名函数功能函数示例
t(x)对矩阵x转置

>  t(B)


        r1 r2 r3
a1    1  0  2
a2    0 -1  1
a3   -4  3  0

solve(x)求矩阵x的逆

> solve(B)


           r1          r2         r3
a1   0.272      0.3636     0.363
a2  -0.545     -0.727      0.272
a3  -0.182      0.091      0.091

 

det(x)求矩阵x的行列式的值

> det(B)
[1] -11
 

eigen(x)求矩阵x的特征值和特征向量


 

x%*%x求矩阵x与矩阵X乘积

> B%*%B


   a1 a2 a3
r1 -7 -4 -4
r2  6  4 -3
r3  2 -1 -5

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值