2017-05-12 3 views
2

私はMatlabのPythonパッケージを使用してPythonでmatlab関数を実行しようとしています。ただし、Mathworks Webサイトから簡単なexampleを実行すると、エラーメッセージが表示されます。 私はコードを実行すると:このエラーはどういう意味PythonでのMatlabの使用

File "/dir/Trying.py", line 27, in <module> 
    a = matlab.double([1,4,9,16,25]) 

    File "//anaconda/envs/netcdf/lib/python2.7/site-packages/matlab/mlarray.py", line 51, in __init__ 
    raise ex 

TypeError: 'NoneType' object is not callable 

import matlab.engine 
eng = matlab.engine.start_matlab() 
a = matlab.double([1,4,9,16,25]) 
b = eng.sqrt(a) 
print(b) 

を私はエラーメッセージが表示されますか?リストを含まない関数を呼び出すことはできますが、ベクトル/リストを渡すと同じエラーが発生します。私はm×nの配列を通す必要があるので、これを行うための鍵です。ユーザーが定義されていません.DOUBLEフォームMathWorks社のMATLABを呼び出している

おかげ

答えて

1

は、私はあなたがhttps://www.mathworks.com/help/compiler_sdk/python/matlab-arrays-as-python-variables.htmlから、同様import matlabする必要があると思います。 P/S:私はhttps://nl.mathworks.com/help/matlab/matlab_external/get-started-with-matlab-engine-for-python.html

にダブルmatlab.engineパッケージMathWorks社のMATLABに含まれていない機能をよる

import matlab.engine 
import matlab 
eng = matlab.engine.start_matlab() 
a = matlab.double([1,4,9,16,25]) 
b = eng.sqrt(a) 
print(b) 
+0

ご回答ありがとうございます。私はそれがトリックを行うだろうと思ったが、私はまだ同じエラーメッセージを取得しています...それはあなたのために働くのですか? –

1

前にMATLABを使用していませんでした。パッケージmatlabをインポートしてみましたか?

import matlab 
+0

ありがとうございます。私は今これを追加しました(忘れるためにばかげています)が、それでも私には同じエラーメッセージが表示されます。それはあなたのために働いたのですか? –

+0

私はmatlabパッケージをインストールしてスクリプトを実行しましたが、エラーなしで動作しています(import matlabの行もありません)。おそらく、パッケージを再インストールしてみてください。 – kwant

+0

私はスパイダーを再起動し、コードを実行しました。それから、コードをもう一度実行し、エラーが表示されました。だから私は新しいカーネルに接続し、同じことが再び起こった - それは最初の実行で正常に動作するようだが、私は新しいカーネルに接続する必要があります...変だ。 –

関連する問題