我有n实数变量(不知道,不关心),让我们称之为X[n].我也有m >> n他们之间的关系让我们称他们R[m]为:
X[i] = alpha*X[j],alpha是一个非零正实数,i并且j是不同的,但该(i, j)对不一定是唯一的(即,具有不同α因子的相同变量之间可以存在两个关系)
我要做的是找到一组alpha参数,以一些最小二乘意义解决超定系统.理想的解决方案是最小化每个方程参数与其选择值之间的差的平方和,但我对以下近似值感到满意:
如果我将m个方程转换为n个未知数的超定系统,任何基于伪逆的数值解算器都会给我一个明显的解(全零).所以我目前所做的是在混合中添加另一个方程式x[0] = 1(实际上任何常数都会这样做)并使用Moore-Penrose伪逆解决最小二乘意义上生成的系统.虽然这试图最小化(x[0] - 1)^2和的平方和的总和x[i] - alpha*x[j],但我发现它对我的问题是一个好的和数值稳定的近似.这是一个例子:
a = 1
a = 2*b
b = 3*c
a = 5*c
Run Code Online (Sandbox Code Playgroud)
在Octave:
A = [
1 0 0;
1 -2 0;
0 1 -3;
1 0 -5;
]
B = [1; 0; 0; 0]
C = pinv(A) * B …Run Code Online (Sandbox Code Playgroud)