2

ターミナルで実行すると、入力を受け取り、いくつかの出力を吐き出す、コンパイルした実行可能関数があります。関数は C++ で記述されており、matlab よりもはるかに高速であることがわかっています。しかし、私の matlab コードがこの外部関数を独自のもののように使用している場合、外部から呼び出されたという事実は何らかの形で遅くなるでしょうか?

matlab で system() を使用して実行できたときに、この関数の matlab バージョンを作成することに意味があるかどうかを議論しようとしています。

4

1 に答える 1

0

状況によって異なります...試してパフォーマンスをテストする必要があります。

より良いアプローチは、コードをMEX関数として記述することです。これにより、両方の長所が得られます(MEXファイルをDLLと考えてください)。Cコードのパフォーマンスであり、外部プロセスよりも呼び出すオーバーヘッドが低くなります。

プログラムはすでにC\C ++で実装されているので、少しの労力でMEX関数としてラップできるはずです。

于 2012-08-04T00:39:41.063 に答える