请帮我解决这个问题:我有一个向量a,向量B是这样得到的:
B = M1 * A * 0.5 + M2 * A * 0.5;
M1-旋转矩阵0度
M2-旋转矩阵45度
如果B是已知的,我需要找到一种计算a的方法。例如,如果B==(0.8535,0.3535(,那么A应该是(1.0,0.0(。我如何得到倒置的公式?
UPD:对于0.4/0.6,结果公式为:
A=(M1*0.4+M2*0.6)^-1 * B
将此方程转化为单个矩阵向量乘积
B = M1 * A * 0.5 + M2 * A * 0.5
B = (M1 * 0.5 + M2 * 0.5)*A
B = M*A
并反转M
A = inv(M)*B = MB
例如
M1 = | 1 0 | M2 = | 1/√2 -1/√2 |
| 0 1 | | 1/√2 1/√2 |
制作
M = | √2/4+1/2 -√2/4 |
| √2/4 √2/4+1/2 |
和反向
inv(M) = | 1 √2-1 |
| 1-√2 1 |
你会发现
inv(M)*| 0.8535 | = | 0.999999 |
| 0.3535 | | -3e-5 |
上面的过程是线性代数的一部分,正是因为你可以使用联想&具有非标量的分布性质。
A = (M1 * 0.5 + M2 * 0.5)^-1 * B