19

インターネットを覗いてみると、C#とMatlabの間で相互運用できるようです。誰かがそれで成功したかどうか、そして彼らがそうするために何をしたのか疑問に思います。可能であれば、COMを使用せずになんとかしてそれをやってのける。御時間ありがとうございます。

4

7 に答える 7

20

MATLAB の R2009a リリースから、MATLAB から .NET オブジェクトにアクセスできるようになりました。

http://www.mathworks.com/help/techdoc/matlab_external/brpb5k6.html

古いバージョンの MATLAB では、CCW を使用して MATLAB から .NET オブジェクトにアクセスできます。

http://www.mathworks.com/support/solutions/data/1-5U8HND.html?solution=1-5U8HND

および .NET の MATLAB エンジン:

http://www.mathworks.com/access/helpdesk/help/techdoc/index.html?/access/helpdesk/help/techdoc/matlab_external/f135590.html#f135616

MATLAB Builder NE を使用して、m コードを .NET アセンブリにラップすることもできます。

http://www.mathworks.com/products/netbuilder/

于 2009-01-12T14:55:28.000 に答える
10

はい、かなり可能です。私は最終的にCインターフェイスを使用し、混合モードDLLを使用してそれを呼び出すことになりました(そしてC#を呼び出して...しかし、それは他のCコードともインターフェイスしていたためです)。それは非常に簡単です。プログラムを実行するコンピューターに、Matlab Runtime MCRInstaller.exe をインストールする必要があります。

編集:壊れたリンクを削除

于 2009-01-12T03:25:56.100 に答える
3

はい、なんとかそれを行うことができました。ほとんど痛みはありませんでした。

MATLAB コードを .NET 用にコンパイルし (以前の回答で説明したように)、MCR インストーラーを実行し、MWArray.dll とコンパイルされたコード dll を .NET プロジェクトで参照して、すぐに使用できるようにする必要があります。

唯一の煩わしさは、インターフェースがあなたに強制するキャスト(そして時には複数のキャスト!)でした(キャスト演算子で明示的に使用)

于 2009-01-12T15:10:09.220 に答える
1

無料でオープン ソースの Matlab 用の .NET ラッパーがあり、非常にシンプルです: http://www.codeproject.com/KB/dotnet/matlabeng.aspx

私はこれを使います。

于 2009-07-28T18:29:15.540 に答える
0

R2009aプレリリースでは、MATLABから.netアセンブリを呼び出すことができます。

于 2009-01-21T20:34:35.943 に答える
0

これがあなたにどの程度当てはまるかはわかりませんが、matlab 実行可能ファイルまたはMEXを調べてみてください。基本的に、C または FORTRAN でプログラムを作成し、いくつかのライブラリと関数を含めて、C または FORTRAN 関数を使用するのは非常に簡単です。マトラブで

于 2009-02-01T06:44:08.503 に答える
0

あなたがお金を使う気があるなら、これはあなたが必要とするものかもしれません:

http://www.mathworks.com/products/netbuilder/

.NET と COM の両方から呼び出すことができる Matlab コードのラッパーを生成できます。

于 2009-01-12T03:29:41.880 に答える