我有一个数组(“真正的”笛卡尔坐标),它的大小(natoms*3,1)
是natoms
原子数。我还有大量(500,000)个观察值存储在 size 的数组中(nobs, natoms*3)
。现在,我想创建一个所有观测值与真实坐标之间的差异数组。我想通过做类似的事情来简单地矢量化它
for iat = 1:natoms
xyz_dif = xyz_obs(:, 3*iat-2:3*iat) - xyz_true(3*iat-2:3*iat)
end
但这不起作用。相反,我被迫像这样经历每一个观察:
for iat = 1:natoms
for iobs = 1:nobs
xyz_diff(iobs, 3*iat-2:3*iat) = xyzs(iobs, 3*iat-2:3*iat) - xyz_true(3*iat-2:3*iat)
end
end
但这似乎效率很低。有没有更快、更有效的方法来做到这一点?
谢谢。