問題タブ [matlab-coder]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
963 参照

c++ - IntelliSense エラー識別子 "emlrtStack" は定義されていません

MATLABで書いた関数を「Matlab coder」でCに変換しています。変換されたファイルを取得した後、変換された関数は常に最初の入力引数をconst emlrtStack *sp. VC++ 2013 でテストしようとすると、IntelliSense で上記のエラーが発生します。

ファイル内のこの識別子を手動で見つけようとしましemlrt.hたが、そのようなものはありません。2 つの入力引数 [ c=mul(a,b) など]を持つ単純な乗算関数を変換しようとしましたが、変換された関数には、 abに加えて、関数内にこの余分な引数があります。(つまり、この引数は関数固有のものではありません)。

誰かがこれに対する解決策を持っているか、このような問題を経験したことがある場合は、共有または助けてください.

さらに、これらの変換された関数を簡単にテストする方法を誰かが知っている場合は、追加のヘルプをいただければ幸いです。

0 投票する
2 に答える
385 参照

matlab - MATLAB: MEX 行列除算は m-file とは異なる結果になります

MATLAB のコーダー ツールを使用して、行列指数関数の MEX バージョンを作成し、別の関数セットで使用しました。問題は、MEX バージョンでは元の m ファイルとは異なる結果が得られることです。

デバッグした結果、これは MEX ファイルと m-file が同じように行列の除算 (\) を行っていないことが原因であると考えています。または、そもそも MEX ファイルに問題があります。行列の除算が行われる行までのすべての変数は、両側で同等です。

これは、問題が発生する行です。

ここで、I は V と U のサイズの単位行列です。

MEX ファイルが行列除算を行うときの不一致の背後にある理由は何ですか? また、この問題を修正するにはどうすればよいですか? このコード行を分割せずに書き直すことはできますか?

0 投票する
1 に答える
127 参照

matlab - バージョン 2010SP1 をサポートする Coder 製品 (Embedded、Simulink、または Matlab) はありますか?

Matlab コードを C++ コードに変換する製品を探しています。私はMatlab Coderを広範囲に調べましたが、病棟の2011aからのMatlabのバージョンとのみ互換性があるため、十分ではないようです。他のコーダー製品 (Embedded/Simulink) を調べるつもりでしたが、どちらも要件として Matlab Coder をリストしています。

私は Matlab Compiler を持っていますが、コードを完全に変換し、Matlab/MCR に依存せずに実行できる製品を探していました。

私のコードを C++ に変換する Matlab またはサード パーティの製品はありますか? それともコードを渡すだけでよいのでしょうか?

0 投票する
1 に答える
208 参照

sparse-matrix - MATLAB 式 'Mf' は正しいスパース性ではありません

こんにちは、コマンド「コーダー」を使用して関数を .mex 関数に変換しようとしています。私の入力の 1 つは疎 double 行列です。コーダーが変数「Mf」の型を定義するように要求したとき、私は double(:inf x :inf) として設定します。それを構築し、関数を実行すると、次のメッセージで停止します:「MATLAB 式 'Mf' は適切なスパース性ではありません」

提案や解決策をいただければ幸いです。ありがとうございました!

0 投票する
1 に答える
852 参照

matlab - MATLAB での lsql の代替

わかりましたので、特に lsqlin 最適化関数を何百万回も実行するスクリプトがあります。このコードを高速化するために、「コード生成」します (基本的に、いくつかの mex ファイルを自動的に作成します)。これは、不等式の線形システムのフォローアップです。

ここでの問題は、lsqlin やその他の最適化関数が変換されず、外部から呼び出す必要があるため、効率が低下することです。

MINQ ツールボックスは既に見つけましたが、lsqlin からこれに変換する方法がわかりませんでした。また、ライセンスが必要な QPC ツールボックスも見つかり、現在待機中です。

別のツールボックスと、lsqlin からそれに変換する方法を提案する人はいますか?

lsqlin スクリプトをコード生成するための一般的な考え方 (完全な変換ではなく、リンクが呼び出されることがわかります)。

コード:

走る:

0 投票する
1 に答える
96 参照

matlab - Coder ツールキットで作成した MEX ファイルを他のユーザーが使用できるようにする方法

MATLAB の Coder ツールキットを使用して MEX ファイルを作成しました。自分のコンピューターでは問題なく動作しますが、それを他の人に送信して使用すると、エラーが発生して動作しません。

MEX ファイル/コードを適切に配布し、他のユーザーが使用できるようにするための適切な手順は何ですか?

余談ですが(これが私の問題にどの程度影響するかはわかりません)、コーダーが作成したCコードファイルには、相対パスではなく、コンピューター上のディレクトリにつながる変数があります。