Matlabで書かれた関数をC \ C++に変換して最適化したいと思います。結果は、より大きなMATLABコードの小さな部分であるので、matlab内から呼び出し可能にする必要があります。コードパッケージを使用した.mxxコード
たとえば、my関数を.mexファイルでラップされたCコードに変換すると動作します。 私はmatlabのコーダーパッケージがそれを助けることができると聞いた。
私はこのパッケージに慣れていないので、これを達成する最も簡単な方法は何ですか?
Matlabで書かれた関数をC \ C++に変換して最適化したいと思います。結果は、より大きなMATLABコードの小さな部分であるので、matlab内から呼び出し可能にする必要があります。コードパッケージを使用した.mxxコード
たとえば、my関数を.mexファイルでラップされたCコードに変換すると動作します。 私はmatlabのコーダーパッケージがそれを助けることができると聞いた。
私はこのパッケージに慣れていないので、これを達成する最も簡単な方法は何ですか?
MATLAB Coderのライセンスをお持ちの場合は、これが正しいパッケージです。あなたが探している機能はcodegen
です。あなたの関数は、それらの制限を満たしている場合、参照
function foo(bar) %#codegen
<your code here>
下に示すように、あなたの関数の先頭にタグ%#codegen
を追加して、MATLABエディタで関数ファイルを開くには:コード生成に使用することができるものには制限があります。タグは、コードがコード生成の規則に準拠しているかどうかをチェックするようにエディタに指示します。エディタはあなたのコードは、これらの規則に準拠していることを示していたら、MEXファイルを生成するように簡単
>> codegen foo
MEXファイルを生成する
、foo_mex
codegen
のオプションの引数のいくつかを使用する必要があります。
ありがとうございます。私にはライセンスがあります。ライセンスなしで誰かにこのmexを渡せますか? (おそらく、このパッケージがなくなる前に古いMatlabを実行していたかもしれません) – Leo
AFAIK mex-fileを使用するためのライセンスは必要ありません。ただし、ファイル拡張子からわかるように、Mexファイルはアーキテクチャー固有のものなので、他の人のマシンのアーキテクチャーを認識する必要があります。以前のバージョンのMATLABについては、mex-filesリンクがそれほど変わらない基本ライブラリがあると思いますが、あなたのアプリケーションで動作するかどうかを確認する必要があります。 – AValenzuela
あなたのコードの複雑さに依存します...あなたはmatabのコーダーライセンスを持っていますか? – Oli