インターネットを覗いてみると、C#とMatlabの間で相互運用できるようです。誰かがそれで成功したかどうか、そして彼らがそうするために何をしたのか疑問に思います。可能であれば、COMを使用せずになんとかしてそれをやってのける。御時間ありがとうございます。
7 に答える
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 エンジン:
MATLAB Builder NE を使用して、m コードを .NET アセンブリにラップすることもできます。
はい、かなり可能です。私は最終的にCインターフェイスを使用し、混合モードDLLを使用してそれを呼び出すことになりました(そしてC#を呼び出して...しかし、それは他のCコードともインターフェイスしていたためです)。それは非常に簡単です。プログラムを実行するコンピューターに、Matlab Runtime MCRInstaller.exe をインストールする必要があります。
編集:壊れたリンクを削除
はい、なんとかそれを行うことができました。ほとんど痛みはありませんでした。
MATLAB コードを .NET 用にコンパイルし (以前の回答で説明したように)、MCR インストーラーを実行し、MWArray.dll とコンパイルされたコード dll を .NET プロジェクトで参照して、すぐに使用できるようにする必要があります。
唯一の煩わしさは、インターフェースがあなたに強制するキャスト(そして時には複数のキャスト!)でした(キャスト演算子で明示的に使用)
無料でオープン ソースの Matlab 用の .NET ラッパーがあり、非常にシンプルです: http://www.codeproject.com/KB/dotnet/matlabeng.aspx
私はこれを使います。
R2009aプレリリースでは、MATLABから.netアセンブリを呼び出すことができます。
これがあなたにどの程度当てはまるかはわかりませんが、matlab 実行可能ファイルまたはMEXを調べてみてください。基本的に、C または FORTRAN でプログラムを作成し、いくつかのライブラリと関数を含めて、C または FORTRAN 関数を使用するのは非常に簡単です。マトラブで
あなたがお金を使う気があるなら、これはあなたが必要とするものかもしれません:
http://www.mathworks.com/products/netbuilder/
.NET と COM の両方から呼び出すことができる Matlab コードのラッパーを生成できます。