让我们把问题分成两部分,第二部分是可选的。
第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# 中实现,但如果您想编写代码,请随意使用伪语言。