私はPythonコードでいくつかのM-ファイルを使用するためにOct2Pyを使用しています。のは、私はこの単純なMATLAB関数を持っているとしましょう:私はオクターブでそれを呼び出す場合はどうなりますOct2Pyは最初の出力引数を返すだけです
function [a, b] = toto(c);
a = c;
b = c + 1;
end
は明らかである:
>> [x,y] = toto(3)
x = 3
y = 4
今、私はPythonでそれを呼び出す場合は、oct2py使用:
from oct2py import octave
my_dir = "D:\\My_Dir"
octave.addpath(my_dir)
a,b = octave.toto(3)
このリターン:
TypeError: 'int' object is not iterable
octave.toto(n)は最初の値を返すように思えます。私は2つを期待しています...誰も私が何をすべきか説明できますか?あなたが複数の出力を望んでいた場合、あなたは、単に両方の出力を要求するようOct2Pyの旧バージョン(3.xおよびそれ以上の年齢)のおかげで
私は違いを理解しています!しかし、この行は以下を返します。 TypeError: 'int'オブジェクトは反復不可能です。 まるで私が書いたかのように:[a、b] = octave.test(3)...実際にはoctave.test(n)のように見えます... – Telergoel
@Telergoel間違いなく動作するはずです。関数名をコアライブラリ関数と競合しないものに変更できますか?また、あなたが使用しようとしている正確なコードを表示してください – Suever
私は関数名を変更しましたが、もはや矛盾はありませんが、それでもTypeErrorです。私は必要に応じて私の正確なコード行を共有することができますが、私は本当に上記の単純なものでテストしているし、本当に動作しません。 – Telergoel