R:在 matlab 中使用 Solve 求解方程组,其中 # unknowns > # equations

R: using Solve in matlib to solve system of equations where # unknowns > # eqns

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)

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

如果未知数的数量大于您拥有的方程的数量,则解的数量是无限的。事实上,如果差异为 1,则解是一条线,如果差异为 2,则解是一个平面,依此类推。

一般来说,如果变量的个数为N,方程的个数为M(我们可以假设方程是线性无关的),解将是一个N-M维的形状嵌入space 维度 N.

所以你通过求解 N 大于 M 的系统得到的将是一个描述某些 x_i 之间关系的方程式,例如一条直线的方程。 R 主要设计用于处理数字和执行算术而不是处理符号数学,它可能不是最适合此目的的软件。但是,如果您想继续使用 R,则有一些库提供了这种可能性,例如参见 [​​=10=]。