线性系统 求解大小为 3X2 的矩阵中的给定点



我得到了一个线性系统Z'=A*Z+B,其中 3 个已知点(x1,y1)(x2,y2)(x3,y3)存储在矩阵中:

Z=[x1 x2 y2 ; y1 y2 y3]

我想找到仿射变换

A=[a11 a21;a12 a22]  B=[b1,b2]

这样我就可以计算Z'.

如何在 MATLAB 中找到AB?为什么我需要正好 3 个点来估计AB

你可能想求解系统

X = AXx x + AXy y + AX
Y = AYx x + AYy y + AY

给定三对对应点(xi, yi)(Xi, Yi)

方程实际上是解耦的,你必须求解两个独立的3x3系统

X1 = AXx x1 + AXy y1 + AX
X2 = AXx x2 + AXy y2 + AX
X3 = AXx x3 + AXy y3 + AX
Y1 = AYx x1 + AYy y1 + AY
Y2 = AYx x2 + AYy y2 + AY
Y3 = AYx x3 + AYy y3 + AY

这可以用标准方式完成;你也可以成对减去方程以消除AXAY)并求解得到的2x2系统。

X1 - X3 = AXx (x1 - x3) + AXy (y1 - y3)
X2 - X3 = AXx (x2 - x3) + AXy (y2 - y3)
Y1 - Y3 = AYx (x1 - x3) + AYy (y1 - y3)
Y2 - Y3 = AYx (x2 - x3) + AYy (y2 - y3)

相关内容

  • 没有找到相关文章

最新更新