【发布时间】:2018-12-08 23:00:11
【问题描述】:
我正在尝试将此 MATLAB 代码翻译成 Python。
以下是代码:
Y=C*Up(:,1:p-1)'*Y;
这是我迄今为止的翻译:
Y = C * Up[:, 1:p-1] * Y
我在 MATLAb 代码中使用的 self 共轭转置的语法有问题。我不确定我的第一个想法:
Y = C * Up[:, 1:p-1].getH() * Y
应该是正确的。
有人有什么想法吗?
【问题讨论】:
-
你能提供矩阵(矩阵)的样本输入吗?
-
1:p-1- 请记住,python 索引是基于 0,基于 MATLAB 1。 -
Up(可能)复杂吗?如果没有,那么简单的transpose就足够了。我要警告转置不对一维数组做任何事情,但Up显然是二维的,你还想要什么样的乘法?矩阵或元素明智? MATLAB 和 numpy 有不同的运算符。 -
.getH是np.matrix子类的方法。np.matrix类似于 MATLAB(包括其对*的定义),不鼓励在numpy中使用它。Up.T.conjugte()将对ndarray对象执行相同的操作。当然,只有在Up很复杂时才需要conjugate部分。
标签: python matlab numpy matrix scipy