numpy 与 matlab 中的数组操作

问题描述

我有一个必须转换为 python 的 Matlab 代码。这是我目前正在努力解决的一项操作。我有一个尺寸为 262144 x 24 的 Matlab 数组“edof”。我有一个尺寸为 823875 x 1 的第二个数组“dofVector”。执行的操作是:

edof = dofVector(edof);

它更新我的变量,我得到变量“edof”的结果尺寸与以前相同,即 262144 x 24,但值已更改。

我正在尝试在 numpy 中转换这行代码,但一直无法这样做。

edof = dofVector[edof]

我收到以下错误

the error message

有人可以帮我吗?

我不在这里包括阵列的描述,因为这是高度技术性的并且特定于我的领域。

谢谢!

解决方法

Numpy 索引是从零开始的。 MATLAB 索引是基于 1 的。因此,如果 edof 在 MATLAB 和 Python 之间在该步骤之前是相同的,则您需要执行

edof = dofVector[edof - 1]