0
我使用oct2py执行从蟒蛇的倍频功能,我得到以下错误:Oct2py二元运算符“*”没有实现
oct2PyError: Octave evaluation error: error: binary operator '*' not implemented for 'int64 scalar' by 'complex matrix' operations
在Python中,我只是调用函数:
from oct2py import octave
results = octave.myOctaveFunction(parameters)
在myOctaveFunction的调试,我认为错误是在代码:
slc=interpft(slc, OSF*lines, 1);
其中:
- SLC是大小的复数矩阵= [241,41](双精度)
- OSF是过采样因子。 OSF = 16(int64)
- lines是slc矩阵的行数。行= 241(标量)
- interpft功能:https://www.mathworks.com/help/matlab/ref/interpft.html
编辑:详细回溯:
回溯(最近最后调用):
File "/home/ezaqui/Papyrus/plugins/org.python.pydev_5.1.2.201606231256/pysrc/_pydevd_bundle/pydevd_exec.py", line 3, in Exec
exec exp in global_vars, local_vars
File "<console>", line 1, in <module>
File "/usr/local/lib/python2.7/dist-packages/oct2py/dynamic.py", line 96, in __call__
return self._ref().feval(self.name, *inputs, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/oct2py/core.py", line 369, in feval
store_as=store_as, plot_dir=plot_dir)
File "/usr/local/lib/python2.7/dist-packages/oct2py/core.py", line 568, in _feval
raise Oct2PyError(msg)
Oct2PyError: Octave evaluation error:
error: binary operator '*' not implemented for 'int64 scalar' by 'complex matrix' operations
你的错误说你是一个复杂的矩阵乘以一个标量,但是,在你该行的描述,唯一的东西越来越乘以两个标量。我猜想或者这不是违规行,或者“行”实际上并不是标量。 – FamousJameous
我认为乘法是在interpft函数内完成的。代码崩溃之前,该行 – eduardosufan
您是否收到追溯或只是您发布的错误? – FamousJameous