找到线性方程组的解,该方程组具有比等值更多的变量



让我们将问题分为两部分,第二部分是可选的。

第 1 部分

我有 3 个线性等式,其中 N 个变量通常大于 3。

  • x1*a+x2*b+x3*c+x4*d[....]xN*p = B1
  • y1*a+y2*b+y3*c+y4*d[....]yN*p = B2
  • Z1*a+Z2*B+Z3*C+Z4*D[....]zN*p = B3

寻找 (a,b,c,d,[...],p),其他是常数。

标准的高斯方式是行不通的,因为矩阵会比高更宽。当然,我可以用它来消除 2 个变量。你知道找出解决方案的算法吗?(我只需要一个。解系数中的 0 越多越好,但不是必需的。

第 2 部分

解中的系数必须是非负的。

要求:算法必须足够快才能实时运行。(平均 PC 上每秒 1800 次)。所以试错法是不行的。该算法将在 C# 中实现,但如果您想编写代码,可以随意使用伪语言。

将额外的变量设置为零。现在我们有矩阵方程

A.x = b,其中

   x1 x2 x3

A = y1 y2 y3 Z1 Z2 Z3

b = (B1, B2, B3),作为列向量现在反转 A。解决方案是;

X = A-1.x

结束矩阵公式在Excel中使用Ctrl Shift Enter输入

最新更新