【问题标题】:Linear Equation not possible to solve?线性方程无法求解?
【发布时间】:2019-04-03 08:16:53
【问题描述】:

我想用

解一个线性方程 A*x=b
A<-matrix(c(1,4,9,5,2,3,8,4,3,2,7,3,4,1,6,2),4,4)
b<-c(2,0,7,9)

如果我随后使用 solve() 函数,它会显示错误:

solve(A,b)
Error in solve.default(A, b) : 
  system is computationally singular: reciprocal condition number = 1.06241e-18

我的方法有什么问题还是这个线性方程无法求解?

【问题讨论】:

  • 您的矩阵的行列式为 0 (det(A)),因此无法找到逆矩阵,因此存在奇点错误
  • 谢谢!所以,不可能解决它,对吧?或者还有其他方法吗? @Sotos
  • 不,你不能反转奇异矩阵。我不确定是否可以使用线性代数使其非奇异。我的数学有点生疏
  • 如果 det(A) 为 0,则您的线性系统没有唯一解。那么可能有两种情况:a)没有解决方案 b)有无限多的解决方案。情况 a) 或 b) 取决于向量 b。如果向量 b 是 span(A) 的元素,则为 case b),否则为 case a)。

标签: r linear-equation


【解决方案1】:

A的列之间存在一些线性关系:

> A <- matrix(c(1,4,9,5,2,3,8,4,3,2,7,3,4,1,6,2),4,4)
> # linear relationship between columnds 2,4,3:
> A[,2] + A[,4]
[1]  6  4 14  6
> 2 * A[,3]
[1]  6  4 14  6
> # linear relationship between columnds 1,3,2:
> A[,1] + A[,3]
[1]  4  6 16  8
> 2 * A[,2]
[1]  4  6 16  8

因此,A 不可逆。

【讨论】:

    猜你喜欢
    • 2010-09-05
    • 2019-10-02
    • 1970-01-01
    • 1970-01-01
    • 2021-12-13
    • 2012-08-09
    相关资源
    最近更新 更多