我是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
输出看起来像这样
矩阵最初创建为矩阵Sb
矩阵的倒数,即Ib
强制对称矩阵X
强制对称矩阵Y
最终矩阵PM
要检查矩阵是否对称,我尝试使用将矩阵乘以逆矩阵后得到单位矩阵的属性
我创建了一个逆矩阵,并尝试与初始矩阵相乘,但是结果看起来不像是统一矩阵。附上我收到的矩阵的屏幕截图
谁能告诉我我在哪里做错了?预先感谢,