仅给定动态数据点,如何找到坐标变换的雅可比矩阵?

计算科学 数字
2021-12-05 10:00:45

假设您有从 0 到时间 T 的每 s 个时间单位的坐标 X(t) 的记录。

另外假设您有更多数据 Q(T),这些数据应该从您拥有的 X(t) 数据上的一些复杂数值计算 Q(X) 输出。Q(T) 和 X(T) 的尺寸相同。

如何计算 X 坐标相对于所有 Q 坐标的所有偏导数?

单个变量是微不足道的。访问 Q(X) 也很容易。

无法访问 Q(X) 的多变量问题似乎也应该很简单,但我不知道在什么情况下(数据的分布等)这个问题会有解决方案,以及适用于哪些算法那些情况。

似乎我们需要求解一个变换矩阵 J(T),使得 dX(T)=J(T)d*Q(T)。

例如,我可以尝试使用 X(T) 是随机生成的直角坐标和 Q(T) 是从中生成的球坐标的算法。我知道在这种情况下雅可比应该是什么,我可以与通用算法的结果进行比较。

1个回答

让我们考虑一个二维情况,有两个坐标X1,X2和两个派生量Q1,Q2.

对寻求偏导数的点使用索引 0,对附近的一些点使用索引 i={1,2,...},并使用泰勒展开式可以写

δQ1,i=Q1X1δX1,i+Q1X2δX2,iδQ2,i=Q2X1δX1,i+Q2X2δX2,i,

在哪里δ代表从点 0 的偏差,δX1,i=X1,iX1,0等等。

因为有四个未知数Qm/Xn我们需要四个方程来求解这个线性系统,所以在二维中,我们需要点 0 和两个相邻点 i=1,2 的数据。通过类似的论点,在 3D 中我们需要三个相邻点,依此类推。请注意,为了避免形成退化线性系统的实际计算,数据点不应靠近直线;但如果数据点来自某个动态系统的轨迹,则可能经常出现后者。