在R中创建一个具有固定对角线值的对称矩阵

时间:2019-04-16 20:24:18

标签: r linear-algebra matrix-multiplication

我是R和学习的新手。但是我面临一个问题。我必须创建一个4 X 4矩阵B,其对角线上的值为1、2、3和4。 让偏离对角线的值在0.01到0.2之间。只是意味着转置位置上大多数非对角线项的值都接近

我试图创建一个包含16个元素的矩阵,然后为对角线值创建一个向量。

library(Matrix)
library(matlib)

B<-runif(16,0.01,0.02)
Sb<-matrix(B,ncol = 4)
diag(Sb)<-c(1,2,3,4)

Ib<-inv(Sb)
Ib

X<-forceSymmetric(Sb)
Y<-forceSymmetric(Ib)

PM<- Y%*%X
PM

输出看起来像这样

Matrix created Initially Matrix Sb

矩阵最初创建为矩阵Sb

Inverse of Matrix Sb i.e.  Ib

矩阵的倒数,即Ib

Forced Symmetric Matrix X

强制对称矩阵X

Forced Symmetric Matrix Y

强制对称矩阵Y

Final Matrix PM

最终矩阵PM

要检查矩阵是否对称,我尝试使用将矩阵乘以逆矩阵后得到单位矩阵的属性

我创建了一个逆矩阵,并尝试与初始矩阵相乘,但是结果看起来不像是统一矩阵。附上我收到的矩阵的屏幕截图

谁能告诉我我在哪里做错了?预先感谢,

0 个答案:

没有答案