問題タブ [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 - MATLABを起動して実行し続けるためのpython 3クラスを作成する方法は?
Windows 10でmatlab 2017bとpython 3を使用しています。matlabを起動して開いたままにできるクラスを作成したいと考えています。ただし、python スクリプトを終了した直後に matlab が閉じます。コードは次のとおりです。
「start_matlab」コマンドを使用して、python コンソールで matlab を開くことができますが、このクラスでは、開いたままにできません。どうすればこれを機能させることができるか知っている人はいますか?
python - numpy 配列を matlab エンジンに渡す
私はPythonでコードを持っていますが、Matlabで別の人のために開発された関数を呼び出さなければなりません。私はmatlabエンジンでそれをしたいのですが、関数に変数を渡すときにエラーが発生しました:
TypeError: サポートされていない Python データ型: numpy.ndarray
これは、多かれ少なかれ私がやりたいことのための単純な python コードです:
これは matlab 関数の例です。
NumPy配列をmatlabエンジンの変数として効果的に渡す方法を知っている人はいますか?
c++ - MATLAB 構造を C++ に戻し、要素にアクセスする
C++ から MATLAB を実行し、MATLAB 出力を構造体で C++ に戻そうとしています。構造体には、さまざまな次元や長さの配列など、いくつでも含めることができます。hereに同様の質問がありますが、答えは私が理解して推定するのに十分な詳細を提供しません.
MatlabEngine.hpp
とを使用して MATLAB を実行していMatlabDataArray.hpp
ます。私は多くの出力を返す必要があり、私が求めていることを完全に実行しない他の方法を試しました。構造を使用することは、物事を行うための最も論理的で読みやすい方法のようです。以下の例で私のケースを説明しようと思います。これらの例は、同様の問題を抱えている他の人にとって最も役立つ方法で書かれていることを願っています.
MWE 1 - n x n 配列を返す
MATLAB コード
これは、C++ コードを使用して実行できます。
C++ コード
これは、n x n 配列の単一の戻り値に対して機能します。しかし、データを個別に返したい場合、つまりfunction [sum, prod] = simple_fun1(a,bc)
機能しません。
MWE2 - 複数の出力を返す
タプルを使用して複数の出力を返すことができましたが、MATLAB 配列のタプルを定義できなかったため、配列の最初の要素 (配列出力の場合) にしかアクセスできません。例えば
MATLAB コード
C++ コード
リターン構造
代わりに、構造体を返すように MATLAB 関数を書きたいと思います。これにより、大量のデータが渡されるコードが簡素化され、データが異なる次元を持つことができるようになるはずです。ただし、実際の例を作成できませんでした。
MATLAB コード
C++ コード
上記の C++ コードは機能せず、構造がどのように定義されているかわかりません。つまり、ArrayDimensions の次元です。どんな助けでも大歓迎です。ありがとう
python - Python から MATLAB へのリアルタイム ストリーミング データ
MATLAB で Python 変数をリアルタイムで利用できるようにしたいと考えています。例えば:
Python コード:
各/数回のpython反復の後.... MATLABコード:
実際には、MATLAB 言語で Python 関数を再コーディングするには、長い時間がかかります。これを行う方法はありますか?これは matlab-engine の仕事ですか? リアルタイム データをストリーミングすることを考えると、合理的な範囲内で比較的高速に Python から MATLAB にデータを送信したいと考えています。また、Python の部分をバックグラウンドで実行し、parfeval とある種の「送信」関数を使用して、キューを介して x を matlab クライアントに送り返したいと考えています。
PS: この質問は、ここで尋ねられたものと似ています。ただし、答えはあまり明確ではなく、日付が付けられている可能性があります(7年前)
python - 別のマシンで.exeを実行しているPyinstaller matlab-engineの問題
Python 用の matlab エンジン API を使用するアプリケーションに取り組んでいます。アプリは問題なく正常に動作するため、単一の exe にパックしたいと考えました。
最初に、mlarray によって与えられた問題があり、次のようにコンパイルして解決しました。
現在、自分のコンピューターでは .exe ファイルは正常に動作しますが、別のマシン (Matlab がインストールされている) で実行しようとするとすぐに、次のエラーが表示されます。
モジュール「matlabengineforpython3_8」が見つからないようです。これは、理論的には matlab インストール パスのエンジン フォルダーにあります。次に、マシンには F: ディスクがありませんが、私のコンピューターにはあるため、間違った場所でファイルを探しています。