【发布时间】:2021-07-23 13:54:23
【问题描述】:
我在 Matlab 中有一段代码要转换成 Python/numpy。
我有一个矩阵ind,其尺寸为 (32768, 24)。我有另一个矩阵X,其尺寸为 (98304, 6)。当我执行操作时
result = X(ind)
矩阵的形状是(32768, 24)。
但是当我执行相同的形状时在 numpy 中
result = X[ind]
我得到result 矩阵的形状为 (32768, 24, 6)。
如果有人能帮助我解释为什么我可以得到这两种不同的结果以及如何解决它们,我将不胜感激。我也想在 numpy 中获得 result 矩阵的形状 (32768, 24)
【问题讨论】:
-
在 numpy 的情况下,
ind仅适用于第一个维度,例如X[ind,:] -
@hpaulj 这在这种情况下没有任何作用。即使我按照您的建议进行操作,我仍然会得到相同的结果。
-
我没有提出任何建议!
-
MATLAB 到底在做什么?
ind的值是多少(相对于X的形状)?我过去的 MATLAB 编码很好,所以我无法完全想象这个动作。我可以启动Octave并做一些实验,但我更喜欢你解释一下。
标签: numpy matlab array-indexing