R:在matlib中使用Solve求解方程组,其中#未知数>#eqns

时间:2019-08-20 07:05:02

标签: r linear-algebra

library(matlib)
A <- matrix(c(1, 1/7, 1, 2/7, 1, 3/7, 1, 4/7, 1, 5/7, 1, 6/7), 2, 6)
b <- c(1,0.4)
showEqn(A, b)

enter image description here

我正在尝试使用matlib函数来帮助我找到$ x_1,...,x_6 $的值,以便它们满足上述方程。我知道$ x_1,...,x_6 $有许多不同的组合,因此可以满足上述2个等式。如何找到$ x_1,....,x_6 $的值?我尝试使用Solve(A, b, fractions = TRUE),但这并没有给我一套可能的解决方案。

1 个答案:

答案 0 :(得分:1)

如果未知数更多,而方程式数量更多,那么解决方案的数量将是无限的。确实,如果差异为1,则解决方案是一条直线,如果差异为2,则解决方案是一条平面,依此类推。

通常,如果变量的数量为N且方程的数量为M(并且我们可以假定方程为线性独立),则解决方案将是尺寸为NM的形状,该形状嵌入尺寸为N的空间中。

因此,通过求解N大于M的系统获得的结果将是描述某些x_i之间关系的方程,例如直线方程。 R主要设计用于处理数字并执行算术,而不是用于符号数学,它可能不是最适合此目的的软件。但是,如果您希望使用R,那么有些库可以提供这种可能性,例如,请参见此post