我试图用 n 变量求解 n 线性方程。我使用了Cramer的规则,但是当行列式等于零时它就失败了。如何解决这个问题?
我使用 c 语言。
我的线性方程也是这样的形式:
代表n = 3
:
- x + y + z = a
x - y + z = b
x + y - z = c
代表n = 2
:
- x + y = a
x - y = b
我无法继续下去。
答案 0 :(得分:1)
当使用cramer解决时,如果行列式为零,则有两种情况:
所有变量的决定因素为零:那么您有无数的解决方案。
在最后一种情况下,您可以根据其中一个变量找到答案。
答案 1 :(得分:0)
在Ax = b
中,当A
的行列式等于零时,没有唯一解。特别是,如果b
为0,则存在无限多个解。也有可能没有解决方案。
您的选择是:
x
和Ax
之间差异的b
答案 2 :(得分:0)
如果行列式等于零,则系统退化,这意味着没有解决方案或无限数量的解决方案。考虑你的第二个例子:
-x+y=a
x-y=b
我们可以将其重写为
x-y=-a
x-y=b
所以要么b=-a
,在这种情况下任何一对(x,x-b)
都是解决方案,否则b!=-a
就是没有解决方案。