【发布时间】:2020-08-23 01:17:48
【问题描述】:
给定具有6个未知变量a_11, a_12, a_21, a_22, b_1, b_2和对应的3对点x1, y1, x2, y2, x3, y3, u1, v1, u2, v2, u3, v3的仿射变换方程:
u = a_11 * x + a_12 * y + b_1
v = a_21 * x + a_22 * y + b_2
是否有可能以这种形式获得a_11, a_12, a_21, a_22, b_1, b_2的解决方案?
a_11 = f1(x1, y1, x2, y2, x3, y3, u1, v1, u2, v2, u3, v3)
a_12 = f2(x1, y1, x2, y2, x3, y3, u1, v1, u2, v2, u3, v3)
a_21 = f3(x1, y1, x2, y2, x3, y3, u1, v1, u2, v2, u3, v3)
a_22 = f4(x1, y1, x2, y2, x3, y3, u1, v1, u2, v2, u3, v3)
b_1 = f5(x1, y1, x2, y2, x3, y3, u1, v1, u2, v2, u3, v3)
b_2 = f6(x1, y1, x2, y2, x3, y3, u1, v1, u2, v2, u3, v3)
我知道这个系统可以通过像numpy.linalg.solve 这样的线性系统求解器来求解,但是我不能使用它,我需要f1, f2, f3, f4, f5, f6 来包含常见的数学运算。
一般情况下可以吗?哪些工具可用于求解此类方程组?似乎maple 和mathematica 有方程求解器,它适合这个任务吗?有没有其他选择?
【问题讨论】:
-
如果你把所有 6 个方程都写出来,这不就是线性代数吗?像行减少未知数来得到你的答案。我会试一试的。
标签: wolfram-mathematica linear-algebra sympy maple affinetransform