关于反函数似乎有很多问题,但它们不是我想要的(matrix-inverse
标签中的许多结果也不是)。我试图使用一个函数来获得矩阵的逆。作为一个例子,这是我正在使用的矩阵:
#### Create Matrix ####
mat <- matrix(
c(4,2,7,6),
nrow=2
)
mat
如下所示:
[,1] [,2]
[1,] 4 7
[2,] 2 6
当我手工计算行列式并使用det
函数时,我对逆矩阵的每个解都得到了相同的答案:
1/((4*6)-(7*2))*mat # 1/det
(1/det(mat))*mat # same
如下所示:
[,1] [,2]
[1,] 0.6 -0.7
[2,] -0.2 0.4
但是,如果我使用假定的函数,solve(mat)
会给出以下解决方案:
[,1] [,2]
[1,] 0.4 0.7
[2,] 0.2 0.6
为什么结果不同?我需要使用替代函数吗?
编辑
我重新启动了R,运行了相同的代码,没有任何变化。下面是我的会话信息:
R version 4.2.1 (2022-06-23 ucrt)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 10 x64 (build 22621)
Matrix products: default
locale:
[1] LC_COLLATE=Chinese (Simplified)_China.utf8
[2] LC_CTYPE=Chinese (Simplified)_China.utf8
[3] LC_MONETARY=Chinese (Simplified)_China.utf8
[4] LC_NUMERIC=C
[5] LC_TIME=Chinese (Simplified)_China.utf8
attached base packages:
[1] stats graphics grDevices utils datasets methods base
loaded via a namespace (and not attached):
[1] compiler_4.2.1 tools_4.2.1 rstudioapi_0.14
由于某种原因,它说我安装了4.2.1,但我很确定我使用的是4.2.2,所以不确定这是否重要。运行solve(mat) %*% mat
会得到以下矩阵:
[,1] [,2]
[1,] 1 8.881784e-16
[2,] 0 1.000000e+00
1条答案
按热度按时间n6lpvg4x1#
我们中至少有一个人很困惑。
正确答案
x一个一个一个一个x一个一个二个一个x一个一个三个一个
错误答案
会话信息