3

私は最近、matlab で記述されたいくつかのアルゴリズムを VB.NET (VB.NET が効率的でない場合は C#) に変換するタスクを割り当てられました。

matlab コード自体は、多数の行列代数で構成されています。最初にここを調べたところ、matlab コードをラップする Matlab Coder があることがわかりましたが、そのオプションを提示したところ、望ましくないと言われました。

適切なツールを使用してこれにアプローチする方法がわからないという意味で立ち往生しています。

ライブラリを取得することは通常許容されますか (http://www.codeproject.com/Articles/5835/DotNetMatrix-Simple-Matrix-Library-for-NET またはhttp://www.planet-source-code.com/vb/ scripts/ShowCode.asp?txtCodeId=907&lngWId=10、これらは私が見つけた唯一のものです)これらのアルゴリズムを実装するか、それとも一般的に眉をひそめていますか?

ホイールを再発明して代数のための独自のアルゴリズムを実装する必要がありますか (行列乗算、コレクシー分解など)?

基本的に、このタスクを達成するために受け入れられている方法が何であるかはわかりません。これがここで許可されていない場合は申し訳ありません。初めての投稿ですが、私は長い間潜んでいます。

4

3 に答える 3

2

いくつかの可能性があります。

アプリケーションが の読み込み時間を耐えられる場合はMCR、 を使用できますMatlab .NET Builder.NETクラスがコンパイルされ、MCRその下で静かに実行されます。すべてのクライアントが強制的にMCRコンピュータにインストールされます。

コードをネイティブにする必要がある場合は、コードを書き直すかMatlab Coder、コードを判読不能なネイティブ コードに変換する を使用できc++ます。

コードを書き直すことを選択した場合は、Matlab がそれらに基づいているため、LAPACK上で線形代数ルーチンの実装を見つけることをお勧めします。.NET

于 2012-09-05T14:47:19.207 に答える
1

そのようなコードは公開されているため、使用して学習することができます。コードのライセンス (ある場合) が状況に適していることを確認してください。

于 2012-09-05T14:42:36.820 に答える
1

COM インターフェイスを介して VB.net から Matlab 関数にアクセスできます。

http://www.mathworks.com/help/matlab/matlab_external/view-matlab-functions-from-visual-basic-object-browser.html

于 2014-01-28T17:26:17.373 に答える