まあ、私はmlabwrapが正しくインストールされたことを誇りに思っていましたが、今ではmatlabセルで動作させることができません。Pythonでは、リストはセルに類似しているため、リストを入力すると、mlabwrapがそれをセルに変換すると考えました。残念ながら、それはそのようには機能しないようです。
たとえば、matlabのmファイルがあります。
function list_test(x)
display(x);
Pythonでは、次のように入力すると
mlab.list_test([[1,2],[3,4]])
私は得る:
x =
1 2
3 4
したがって、mlabwrapは私の2つのネストされたリストを取得し、それらを2x2マトリックスに変換するように見えますが、これは私が望んでいることではありません。
やってみると
mlab.list_test([[1,2],[3,4,5]])
それから私は得る:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Users/Ben/.virtualenvs/test/lib/python2.7/site-packages/mlabwrap.py", line 607, in mlab_command
return self._do(name, *args, **update({'nout':nout}, kwargs))
File "/Users/Ben/.virtualenvs/test/lib/python2.7/site-packages/mlabwrap.py", line 534, in _do
mlabraw.put(self._session, argnames[-1], arg)
TypeError: a float is required
明らかにサイコロはありません。
必要に応じて、リストをいくつかの1-D配列に変換するPythonコードを記述し、mlabwrapを使用して1-D配列をmatlabにフィードし、それらの1-D配列をセルに変換するmatlabコードを記述できると思います。しかし、これは面倒なので、もっと簡単な方法があるかどうか知りたいです。mlabwrapはどういうわけか私のためにこれを行うことができますか?
これが私のセットアップの詳細です。OS:Mountain Lion(OS X 10.8)、Python:2.7、Matlab:2010b、mlabwrap:1.1