Python からオクターブ関数を実行するために oct2py を使用していますが、次のエラーが発生します。
oct2PyError: オクターブ評価エラー: エラー: 二項演算子 '*' は '複素行列' 演算による 'int64 スカラー' に対して実装されていません
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