問題タブ [matlab-engine]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Python から Matlab 関数にタプルを渡す方法
Pythonスクリプトから呼び出すMatlab関数があります:
機能tstFnc
は次のとおりです。
ただし、Matlab は 3 つではなく 1 つの入力を受け取るため、これは機能しません。これを機能させることはできますか?
注:これは私がやりたいことの単純化されたケースです。実際の問題では、Matlab 関数に渡す可変数のリストがあり、これは を使用して Matlab 関数で解釈されvarargin
ます。
python - Python で matlab.engine をインポートしようとすると、「プロセスは終了コード 139 で終了しました」というエラーが発生する
Python 用の matlab エンジンを確認したいと思います。ここの指示に従ってインストールしました。でもラインだけ
プログラムが終了コード 139 で終了しますが、これはある種のメモリ障害であると理解しています。Python 2.7.10 (Anaconda 2.3.0 ディストリビューション)、Matlab 2014b、MacOS 10.10、x86_64 を実行しています。
編集:これがスタックトレースです。
編集 2: どの種類のトレースがより役立つかはわかりませんが、ここで定義された trace_calls 関数を使用してトレースを生成しようとしました。これらはその最後の数行です:
これを修正する方法を知っている人はいますか?
ご協力いただきありがとうございます。
python - Matlabエンジン配列をnumpy ndarrayに効率的に変換するには?
私は現在、レガシーMatlabコード(Matlabエンジンを使用)で処理するいくつかのステップを実行し、残りをPython(numpy)で処理する必要があるプロジェクトに取り組んでいます。
matlab.mlarray.double
結果を Matlabから numpyに変換するのが非常にnumpy.ndarray
遅いことに気付きました。
別の ndarray、リスト、および mlarray から 1000 個の要素を持つ ndarray を作成するためのコード例を次に示します。
次の時間がかかります。
変換には、リストからの変換の約 100 倍の時間がかかります。
変換を高速化する方法はありますか?
python - matlab-engine を介して Python で eng.workspace を使用すると無限にビジーになる
Python で matlab.engine を介して Matlab ワークスペースに書き込む際の問題を特定しました。誰でも手伝ってもらえますか?
eng.workspace を呼び出すたびに、「タイムアウト」します。つまり、Matlab が無限のビジー状態になり、Python または Matlab でスクリプトを続行できなくなります。実際、eng.workspace 呼び出しから離れることはありません。
ctrl-c を押してもコマンドは実行され、変数は matlab ワークスペースに保存されますが、その行以降は何も実行されません。
コンテキストのコード:
この python スクリプトを手動で実行すると (pyCharm または cmd\python)、すべてが完全に実行され、2 つの変数は matlab ワークスペースに完全に配置されます。ただし、matlab からプログラムで実行すると、最初の eng.workspace に引っかかって続行しません。
出力 (Matlab) : Ctrl-C 終了の Matlab コマンド ウィンドウとワークスペースの結果
どんな助けでも大歓迎です。
編集:声明ではなく質問に変えました
python - Djangoで「Python用MATLABエンジン」を呼び出す方法は?
MathWork から「Python 用 MATLAB エンジン」をインストールしました。私のpythonバージョンは3.4で、自分で書いたm.fileを.pyファイルと一緒に同じフォルダーの下に置くとうまくいきます。
しかし、Django でそのエンジンを使用したい場合、すべてがうまくいきませんでした。.m 関数は「doa.m」と呼ばれます。私のプロジェクトの構造は次のようなものです: プロジェクト構造
私のviews.pyは次のとおりです。
私のurls.pyは次のとおりです。
ただし、http://127.0.0.1:8000/result/にアクセスすると、エラーは次のとおりです。未定義の関数または変数「doa」。トレースバックは次のとおりです。
誰かが私にそれを説明できますか?ありがとう!
c++ - C++/MATLAB エンジン API の Makefile
私が正しく理解していれば、API の背後にある考え方は、C++ と MATLAB (コンピューター上で MATLAB 環境が稼働している場合) との間でデータをやり取りして、両方の世界を最大限に活用できるようにすることです。
具体的には、C++ プログラムからプロットを取得するたびに MATLAB を手動で開く必要がないように、シミュレーション コードで API を使用することです。MATLABでmexを使用して直接コンパイルするなど、他のオプションがあることを理解しています(コンパイルされたファイルを実行すると、共有ライブラリを適切にロードできないため、これはできませんでした)...
まず、MATLAB が提供するサンプル (engdemo.cpp) を実行してみました。
ライブラリと必要なヘッダー ファイルへの参照を含めるように、makefile を更新してみました。
MATLABROOT = /.../matlab/ r2012b
CFLAGS = -I${MATLABROOT}/extern
ライブラリ = -L${MATLABROOT}/bin/glnxa64
次に g++ $(CFLAGS) $(LIBS) -leng -lmx demo.cpp -o demo
しかし、libeng と libmx が他の *.so ファイルを見つけられないという警告がたくさん表示されます。
*.so (つまり .../bin/glnxa64) を含むフォルダーを手動で確認したところ、-leng と -lmx ではなく、libeng と libmx と呼ばれていることがわかりました。
1) ではまず、なぜ別の呼び方をしなければならないのか知りたいのですが?
警告メッセージは、-rpathまたは-rpath-linkオプションを使用するようにアドバイスしましたが、これはある種の再帰であると推測しましたが、すべての *.so が同じフォルダーにあるため、理解できません。オプションが認識されないため、まだ試してみましたが、機能しませんでした。したがって、他の *.so の実行を手動で要求しようとしましたが、一部では機能しましたが、すべてではありませんでした。その時点では、-lib* の代わりに -l*** と呼ばれる理由がわかりませんでした。 **。
2) 2 番目の質問は、この問題を解決するにはどうすればよいですか、またはこの例を実行する簡単な方法はありますか?
c++ - dyld: ライブラリがロードされていません: @rpath/libeng.dylib
MATLAB エンジンを使用して、MAC-OSX El Capitán 上の C++ からいくつかの MATLAB 関数を呼び出そうとしています。同様の投稿を見たことがありますが、専門家ではない人が理解できるような方法で状況を冷静に説明しているものはありません. 誰かが簡単な説明と簡単な修正を教えてくれますか?
実行時に次のエラー メッセージが表示されます。