-1

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

第1部分

我有 3 个带有 N 个变量的线性方程,其中 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# 中实现,但如果您想编写代码,请随意使用伪语言。

4

1 回答 1

0

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

Ax = b,其中

   x1 x2 x3

A = y1 y2 y3 z1 z2 z3

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

X = A -1 .x

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

于 2015-01-22T18:10:58.407 回答