【发布时间】:2023-03-30 14:30:01
【问题描述】:
我正在尝试将一些 matlab 代码转换为 Python。我对matlab几乎没有经验,但我只需要借用一点功能。我被困在这部分:
在本例中,V 是一个 3x3 矩阵。
A = V(:,3) % i.e. A = [1 2 3]
par = [-(A(2:3))'/A(1)]
具体来说,我对'.
我一直在使用这个资源在 matlab 和 Python 之间切换: http://mathesaurus.sourceforge.net/matlab-numpy.html 然而,它是模棱两可的,因为 ' 符号似乎有多种用途。当我搜索其他文档时,我找不到 '.
任何帮助将不胜感激。理想情况下,我想获得 Python 等价物,但任何解释都会有所帮助。谢谢!
【问题讨论】:
-
只是转置,不是吗?在 Python 中,使用“.T”(用于 Numpy)
-
请注意,如果在您的实现中
A是一个一维 数组(例如A.shape == (3,)),那么转置实际上不会做任何事情。A.T仍然是一个形状为 (3,) 的一维数组。 -
@WarrenWeckesser 不完全确定您的意思,但我想不出
A(2:3)等于A(2:3)'的任何合理情况 -
@DennisJaheruddin:我说的是 numpy 数组。在 numpy 中,转置操作只是反转数组的维度。如果数组只有一维,则转置是“无操作”——它什么也不做。
-
@WarrenWeckesser 嗯,事实上
A(2:3)是 2x1,因此对于数据类型array,转置确实没有意义,如下所述:stackoverflow.com/questions/11885503/… 也许在 numpy 中使用数据类型matrix更好的翻译。 (其实就是问题中提到的这个词)
标签: python matlab syntax numpy